ວິທີການຕັ້ງຄ່າການກວດສອບ HTTP ຂັ້ນພື້ນຖານໃນ Nginx
ການກວດສອບລະບົບພື້ນຖານ HTTP ແມ່ນກົນໄກຄວາມປອດໄພໃນການ ຈຳ ກັດການເຂົ້າເຖິງເວັບໄຊທ໌/ແອັບພລິເຄຊັນຂອງທ່ານຫຼືບາງສ່ວນຂອງມັນໂດຍການຕັ້ງຄ່າຊື່ຜູ້ໃຊ້/ລະຫັດຜ່ານງ່າຍໆ. ມັນສາມາດຖືກ ນຳ ໃຊ້ທີ່ ຈຳ ເປັນໃນການປົກປ້ອງເຄື່ອງແມ່ຂ່າຍ HTTP ທັງ ໝົດ, ແຕ່ລະເຄື່ອງແມ່ຂ່າຍບຸກຄົນ (ເຄື່ອງທີ່ໃຊ້ໃນ virtual ໃນ Apache) ຫຼືສະຖານທີ່ຕັ້ງ.
ດັ່ງທີ່ຊື່ຊີ້ໃຫ້ເຫັນ, ມັນບໍ່ແມ່ນວິທີການທີ່ປອດໄພທີ່ຈະອີງໃສ່; ທ່ານຄວນຈະໃຊ້ມັນໂດຍສົມທົບກັບມາດຕະການຄວາມປອດໄພອື່ນໆທີ່ ໜ້າ ເຊື່ອຖື. ຍົກຕົວຢ່າງ, ຖ້າໂປແກຼມເວັບຂອງທ່ານ ກຳ ລັງໃຊ້ຢູ່ເທິງ HTTP, ຫຼັງຈາກນັ້ນຂໍ້ມູນການ ນຳ ໃຊ້ຂອງຜູ້ໃຊ້ຈະຖືກສົ່ງຜ່ານຂໍ້ຄວາມ ທຳ ມະດາ, ດັ່ງນັ້ນທ່ານຄວນພິຈາລະນາເປີດໃຊ້ HTTPS.
ຈຸດປະສົງຂອງ ຄຳ ແນະ ນຳ ນີ້ແມ່ນເພື່ອຊ່ວຍໃຫ້ທ່ານເພີ່ມລະດັບຄວາມປອດໄພນ້ອຍໆແຕ່ມີປະໂຫຍດເພື່ອປົກປ້ອງເນື້ອຫາສ່ວນຕົວ/ສິດທິພິເສດໃນໂປແກຼມເວັບຂອງທ່ານ (ເຊັ່ນ, ແຕ່ບໍ່ ຈຳ ກັດຂອບເຂດຂອງຜູ້ເບິ່ງແຍງລະບົບ). ທ່ານຍັງສາມາດໃຊ້ມັນເພື່ອປ້ອງກັນການເຂົ້າເຖິງເວບໄຊທ໌ຫລືແອັບພລິເຄຊັນທີ່ຍັງຢູ່ໃນໄລຍະພັດທະນາ.
<
ສ້າງເອກະສານຜູ້ໃຊ້ກວດສອບຄວາມຖືກຕ້ອງ HTTP
ທ່ານຄວນເລີ່ມຕົ້ນໂດຍການສ້າງເອກະສານທີ່ຈະເກັບຮັກສາ ຊື່ຜູ້ໃຊ້: ລະຫັດຜ່ານ
ຄູ່. ພວກເຮົາຈະໃຊ້ປະໂຫຍດ htpasswd ຈາກ Apache HTTP Server, ເພື່ອສ້າງເອກະສານນີ້.
ທຳ ອິດກວດເບິ່ງວ່າ apache2-utils ຫຼື httpd-tools, ຊຸດຕ່າງໆທີ່ໃຫ້ຜົນປະໂຫຍດ htpasswd ຖືກຕິດຕັ້ງຢູ່ໃນລະບົບຂອງທ່ານ, ຖ້າບໍ່ດັ່ງນັ້ນ ດຳ ເນີນການ ຄຳ ສັ່ງທີ່ ເໝາະ ສົມ ສຳ ລັບການແຈກຈ່າຍຂອງທ່ານທີ່ຈະຕິດຕັ້ງມັນ:
# yum install httpd-tools [RHEL/CentOS] $ sudo apt install apache2-utils [Debian/Ubuntu]
ຕໍ່ໄປ, ດໍາເນີນການຄໍາສັ່ງ htpasswd ຂ້າງລຸ່ມນີ້ເພື່ອສ້າງໄຟລ໌ລະຫັດຜ່ານກັບຜູ້ໃຊ້ຄັ້ງທໍາອິດ. ຕົວເລືອກ -c
ຖືກໃຊ້ເພື່ອລະບຸເອກະສານ passwd, ເມື່ອທ່ານກົດ [Enter], ທ່ານຈະຖືກຮ້ອງຂໍໃຫ້ໃສ່ລະຫັດຜ່ານຂອງຜູ້ໃຊ້.
# htpasswd -c /etc/nginx/conf.d/.htpasswd developer
ເພີ່ມຜູ້ໃຊ້ທີສອງ, ແລະຢ່າໃຊ້ຕົວເລືອກ -c
ທີ່ນີ້.
# htpasswd /etc/nginx/conf.d/.htpasswd admin
ຕອນນີ້ທ່ານມີເອກະສານລະຫັດຜ່ານພ້ອມແລ້ວ, ດຳ ເນີນການເພື່ອ ກຳ ນົດພາກສ່ວນຕ່າງໆຂອງເຄື່ອງແມ່ຂ່າຍເວັບທີ່ທ່ານຕ້ອງການ ຈຳ ກັດການເຂົ້າເຖິງ. ເພື່ອເບິ່ງເນື້ອຫາເອກະສານລະຫັດຜ່ານ (ເຊິ່ງປະກອບມີຊື່ຜູ້ໃຊ້ແລະລະຫັດຜ່ານທີ່ຖືກເຂົ້າລະຫັດ), ໃຫ້ໃຊ້ ຄຳ ສັ່ງແມວຢູ່ດ້ານລຸ່ມ.
# cat /etc/nginx/conf.d/.htpasswd
ຕັ້ງຄ່າ HTTP ການກວດສອບຄວາມຖືກຕ້ອງ ສຳ ລັບ Nginx
ດັ່ງທີ່ພວກເຮົາໄດ້ກ່າວມາກ່ອນ ໜ້າ ນີ້, ທ່ານສາມາດ ຈຳ ກັດການເຂົ້າເຖິງເວັບໄຊຕ໌ຂອງທ່ານ, ເວັບໄຊທ໌ດຽວ (ໃຊ້ block server ຂອງມັນ) ຫຼື ຄຳ ແນະ ນຳ ກ່ຽວກັບສະຖານທີ່. ສອງທິດທາງທີ່ເປັນປະໂຫຍດສາມາດຖືກນໍາໃຊ້ເພື່ອບັນລຸເປົ້າຫມາຍນີ້.
- auth_basic - ເປີດໃຊ້ຄວາມຖືກຕ້ອງຂອງຊື່ຜູ້ໃຊ້ແລະລະຫັດຜ່ານໂດຍໃຊ້ໂປແກຼມ“ HTTP Basic Authentication”.
- auth_basic_user_file - ລະບຸເອກະສານລະຫັດຜ່ານ.
ເພື່ອປະຕິບັດການກວດສອບຂັ້ນພື້ນຖານ ສຳ ລັບເຊີຟເວີເວັບໄຊທ໌ທັງ ໝົດ, ເຊິ່ງໃຊ້ກັບທ່ອນ server ທັງ ໝົດ, ເປີດເອກະສານ /etc/nginx/nginx.conf ແລະເພີ່ມສາຍຢູ່ດ້ານລຸ່ມໃນສະພາບການຂອງ http:
http{ auth_basic "Restricted Access!"; auth_basic_user_file /etc/nginx/conf.d/.htpasswd; ……... }
ເພື່ອເປີດໃຊ້ການກວດສອບຂັ້ນພື້ນຖານ ສຳ ລັບໂດເມນຫລືໂດເມນຍ່ອຍ, ເປີດແຟ້ມການຕັ້ງຄ່າຂອງມັນຢູ່ພາຍໃຕ້ /etc/nginx/conf.d/ ຫຼື/etc/nginx/conf/sites-available (ຂື້ນກັບວິທີທີ່ທ່ານຕິດຕັ້ງ Nginx), ແລ້ວຕື່ມໃສ່ ການຕັ້ງຄ່າດ້ານລຸ່ມໃນ block server ຫຼືສະພາບການ:
server { listen 80; server_name example.com; auth_basic "Restricted Access!"; auth_basic_user_file /etc/nginx/conf.d/.htpasswd; location / { …….. } ……... }
ທ່ານຍັງສາມາດເປີດໃຊ້ການກວດສອບຂັ້ນພື້ນຖານພາຍໃນ ຄຳ ສັ່ງແນະ ນຳ ສະຖານທີ່. ໃນຕົວຢ່າງຂ້າງລຸ່ມນີ້, ຜູ້ໃຊ້ທຸກຄົນທີ່ພະຍາຍາມເຂົ້າໄປທີ່ສະຖານທີ່ /admin
ຈະຖືກຮ້ອງຂໍໃຫ້ມີການກວດສອບຄວາມຖືກຕ້ອງ.
server { listen 80; server_name example.com www.example.com; location / { …….. } location /admin/ { auth_basic "Restricted Access!"; auth_basic_user_file /etc/nginx/conf.d/.htpasswd; } location /public/{ auth_basic off; #turns off basic http authentication off for this block } …….. }
ຖ້າທ່ານໄດ້ ກຳ ຫນົດຄ່າການກວດສອບ HTTP ຂັ້ນພື້ນຖານ, ຜູ້ໃຊ້ທຸກຄົນທີ່ພະຍາຍາມເຂົ້າເຖິງ webserver ຂອງທ່ານຫຼືໂດເມນຍ່ອຍຫລືພາກສ່ວນໃດ ໜຶ່ງ ຂອງເວັບໄຊທ໌້ (ຂື້ນກັບບ່ອນທີ່ທ່ານປະຕິບັດມັນ), ຈະຖືກຖາມຊື່ຜູ້ໃຊ້ແລະລະຫັດຜ່ານດັ່ງທີ່ສະແດງຢູ່ໃນ ໜ້າ ຈໍຂ້າງລຸ່ມນີ້ .
ໃນກໍລະນີຂອງການກວດສອບຜູ້ໃຊ້ທີ່ລົ້ມເຫລວ, ຂໍ້ຜິດພາດ "401 ຕ້ອງການການອະນຸຍາດ" ຈະຖືກສະແດງຢູ່ຂ້າງລຸ່ມນີ້.
ທ່ານສາມາດຊອກຫາຂໍ້ມູນເພີ່ມເຕີມໃນການ ຈຳ ກັດການເຂົ້າເຖິງດ້ວຍ Basic HTTP Authentication.
ທ່ານອາດຈະຢາກອ່ານຄູ່ມືທີ່ກ່ຽວຂ້ອງກັບເຄື່ອງແມ່ຂ່າຍ Nginx HTTP ທີ່ມີປະໂຫຍດຕໍ່ໄປນີ້.
<
ໃນຄູ່ມືນີ້, ພວກເຮົາໄດ້ສະແດງວິທີການຈັດຕັ້ງປະຕິບັດການກວດສອບ HTTP ຂັ້ນພື້ນຖານໃນ Nginx HTTP server. ເພື່ອຖາມ ຄຳ ຖາມໃດໆ, ໃຫ້ໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.