ວິທີການຕັ້ງຄ່າການກວດສອບ HTTP ຂັ້ນພື້ນຖານໃນ Nginx


ການກວດສອບລະບົບພື້ນຖານ HTTP ແມ່ນກົນໄກຄວາມປອດໄພໃນການ ຈຳ ກັດການເຂົ້າເຖິງເວັບໄຊທ໌/ແອັບພລິເຄຊັນຂອງທ່ານຫຼືບາງສ່ວນຂອງມັນໂດຍການຕັ້ງຄ່າຊື່ຜູ້ໃຊ້/ລະຫັດຜ່ານງ່າຍໆ. ມັນສາມາດຖືກ ນຳ ໃຊ້ທີ່ ຈຳ ເປັນໃນການປົກປ້ອງເຄື່ອງແມ່ຂ່າຍ HTTP ທັງ ໝົດ, ແຕ່ລະເຄື່ອງແມ່ຂ່າຍບຸກຄົນ (ເຄື່ອງທີ່ໃຊ້ໃນ virtual ໃນ Apache) ຫຼືສະຖານທີ່ຕັ້ງ.

ດັ່ງທີ່ຊື່ຊີ້ໃຫ້ເຫັນ, ມັນບໍ່ແມ່ນວິທີການທີ່ປອດໄພທີ່ຈະອີງໃສ່; ທ່ານຄວນຈະໃຊ້ມັນໂດຍສົມທົບກັບມາດຕະການຄວາມປອດໄພອື່ນໆທີ່ ໜ້າ ເຊື່ອຖື. ຍົກຕົວຢ່າງ, ຖ້າໂປແກຼມເວັບຂອງທ່ານ ກຳ ລັງໃຊ້ຢູ່ເທິງ HTTP, ຫຼັງຈາກນັ້ນຂໍ້ມູນການ ນຳ ໃຊ້ຂອງຜູ້ໃຊ້ຈະຖືກສົ່ງຜ່ານຂໍ້ຄວາມ ທຳ ມະດາ, ດັ່ງນັ້ນທ່ານຄວນພິຈາລະນາເປີດໃຊ້ HTTPS.

ຈຸດປະສົງຂອງ ຄຳ ແນະ ນຳ ນີ້ແມ່ນເພື່ອຊ່ວຍໃຫ້ທ່ານເພີ່ມລະດັບຄວາມປອດໄພນ້ອຍໆແຕ່ມີປະໂຫຍດເພື່ອປົກປ້ອງເນື້ອຫາສ່ວນຕົວ/ສິດທິພິເສດໃນໂປແກຼມເວັບຂອງທ່ານ (ເຊັ່ນ, ແຕ່ບໍ່ ຈຳ ກັດຂອບເຂດຂອງຜູ້ເບິ່ງແຍງລະບົບ). ທ່ານຍັງສາມາດໃຊ້ມັນເພື່ອປ້ອງກັນການເຂົ້າເຖິງເວບໄຊທ໌ຫລືແອັບພລິເຄຊັນທີ່ຍັງຢູ່ໃນໄລຍະພັດທະນາ.

<

  • ຕິດຕັ້ງ LEMP Stack ໃນ CentOS/RHEL 7
  • ຕິດຕັ້ງ LEMP Stack ໃນ Ubuntu/Debian
  • ສ້າງເອກະສານຜູ້ໃຊ້ກວດສອບຄວາມຖືກຕ້ອງ 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 ທີ່ມີປະໂຫຍດຕໍ່ໄປນີ້.

    <

  • ວິທີການລະຫັດຜ່ານປົກປ້ອງລາຍຊື່ເວັບໃນ Nginx
  • ຄຳ ແນະ ນຳ ສຸດທ້າຍໃນການຮັກສາຄວາມປອດໄພ, ແຂງແຮງແລະປັບປຸງການປະຕິບັດວຽກຂອງ Nginx
  • ຕັ້ງຄ່າ HTTPS ດ້ວຍ Let’s encryption SSL Certificate ສຳ ລັບ Nginx
  • ໃນຄູ່ມືນີ້, ພວກເຮົາໄດ້ສະແດງວິທີການຈັດຕັ້ງປະຕິບັດການກວດສອບ HTTP ຂັ້ນພື້ນຖານໃນ Nginx HTTP server. ເພື່ອຖາມ ຄຳ ຖາມໃດໆ, ໃຫ້ໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.