Bii o ṣe le Tunto Ijeri HTTP Ipilẹ ni Nginx


Ijẹrisi HTTP ipilẹ jẹ ilana aabo lati ni ihamọ iraye si aaye ayelujara/ohun elo rẹ tabi diẹ ninu awọn apakan rẹ nipa siseto orukọ olumulo/ọrọigbaniwọle idanimọ. O le ṣee lo ni pataki lati daabobo gbogbo olupin HTTP, awọn bulọọki olupin kọọkan (awọn ọmọ ogun foju ni Apache) tabi awọn bulọọki ipo.

Gẹgẹbi orukọ ṣe ni imọran, kii ṣe ọna ti o ni aabo lati gbẹkẹle; o yẹ ki o lo ni apapo pẹlu awọn igbese aabo to gbẹkẹle diẹ sii. Fun apeere, ti ohun elo wẹẹbu rẹ ba n ṣiṣẹ lori HTTP, lẹhinna awọn iwe eri olumulo ni a gbejade ni ọrọ lasan, nitorinaa o yẹ ki o ronu muu HTTPS ṣiṣẹ.

Idi ti itọsọna yii ni lati ṣe iranlọwọ fun ọ lati ṣafikun fẹlẹfẹlẹ kekere ṣugbọn ti o wulo lati ṣe aabo akoonu ikọkọ/anfani lori awọn ohun elo wẹẹbu rẹ (bii, ṣugbọn kii ṣe opin si awọn ẹgbẹ alakoso). O tun le lo lati ṣe idiwọ iraye si oju opo wẹẹbu tabi ohun elo eyiti o tun wa ni ipele idagbasoke.

  1. Fi sori ẹrọ LEMP Stack ni CentOS/RHEL 7
  2. Fi sori ẹrọ LEMP Stack ni Ubuntu/Debian

Ṣẹda Faili Olumulo Ijeri HTTP

O yẹ ki o bẹrẹ nipa ṣiṣẹda faili kan ti yoo tọju orukọ olumulo: ọrọigbaniwọle awọn orisii. A yoo lo iwulo htpasswd lati Apache HTTP Server, lati ṣẹda faili yii.

Ni akọkọ ṣayẹwo pe awọn ohun elo apache2 tabi awọn irinṣẹ httpd, awọn idii ti o pese iwulo htpasswd ti fi sori ẹrọ lori ẹrọ rẹ, bibẹkọ ti ṣiṣe aṣẹ ti o yẹ fun pinpin rẹ lati fi sii:

# yum install httpd-tools		[RHEL/CentOS]
$ sudo apt install apache2-utils	[Debian/Ubuntu]

Nigbamii, ṣiṣe aṣẹ htpasswd ni isalẹ lati ṣẹda faili ọrọ igbaniwọle pẹlu olumulo akọkọ. Aṣayan -c ni a lo lati ṣalaye faili passwd, ni kete ti o ba lu [Tẹ], ao beere lọwọ rẹ lati tẹ ọrọ igbaniwọle olumulo sii.

# htpasswd -c /etc/nginx/conf.d/.htpasswd developer

Ṣafikun olumulo keji, ati maṣe lo aṣayan -c nibi.

# htpasswd /etc/nginx/conf.d/.htpasswd admin

Bayi pe o ni faili ọrọ igbaniwọle ṣetan, tẹsiwaju lati tunto awọn apakan ti olupin ayelujara rẹ ti o fẹ lati ni ihamọ wiwọle si. Lati wo akoonu faili ọrọ igbaniwọle (eyiti o ni awọn orukọ olumulo ati awọn ọrọ igbaniwọle ti paroko), lo aṣẹ ologbo ni isalẹ.

# cat /etc/nginx/conf.d/.htpasswd 

Ṣe atunto Ijeri HTTP fun Nginx

Gẹgẹbi a ti mẹnuba ni iṣaaju lori, o le ni ihamọ iraye si oju opo wẹẹbu rẹ, oju opo wẹẹbu kan ṣoṣo (lilo bulọọki olupin rẹ) tabi itọsọna ipo kan. Awọn itọsọna to wulo meji le ṣee lo lati ṣaṣeyọri eyi.

  • auth_basic - tan afọwọsi ti orukọ olumulo ati ọrọ igbaniwọle ni lilo ilana Ilana\"HTTP Authentication Basic".
  • auth_basic_user_file - ṣalaye faili ọrọ igbaniwọle.

Lati ṣe ifilọlẹ ipilẹ fun gbogbo olupin wẹẹbu, eyiti o kan si gbogbo awọn bulọọki olupin, ṣii faili /etc/nginx/nginx.conf ki o ṣafikun awọn ila isalẹ ni ipo http:

http{
	auth_basic           "Restricted Access!";
    	auth_basic_user_file /etc/nginx/conf.d/.htpasswd; 
	……...
}

Lati jẹrisi ijẹrisi ipilẹ fun agbegbe kan tabi agbegbe-ašẹ, ṣii faili iṣeto rẹ labẹ /etc/nginx/conf.d/ tabi/ati be be/nginx/conf/awọn aaye-ti o wa (da lori bii o ti fi sii Nginx), lẹhinna ṣafikun iṣeto ni isalẹ ninu bulọọki olupin tabi ọrọ:

server {
	listen 			80;
	server_name    	  example.com;
	auth_basic           	"Restricted Access!";
    	auth_basic_user_file 	/etc/nginx/conf.d/.htpasswd; 
	location /  {
		……..
	}
	……...
}

O tun le mu ijẹrisi ipilẹ ṣiṣẹ laarin itọsọna ipo kan. Ni apẹẹrẹ ni isalẹ, gbogbo awọn olumulo ti n gbiyanju lati wọle si /admin Àkọsílẹ ipo yoo beere lati jẹrisi.

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
	}
	……..
}

Ti o ba ti tunto ijẹrisi HTTP ipilẹ, gbogbo olumulo ti o gbidanwo lati wọle si oju opo wẹẹbu rẹ tabi iha-ašẹ tabi apakan kan pato ti aaye kan (da lori ibiti o ti ṣe ilana rẹ), yoo beere fun orukọ olumulo ati ọrọ igbaniwọle bi o ṣe han ninu sikirinifoto ni isalẹ .

Ni ọran ti ìfàṣẹsí aṣàmúlò ti o kuna, aṣiṣe\"401 Asẹ Ti a Beere" yoo han bi a ti han ni isalẹ.

O le wa alaye diẹ sii ni ihamọ Wiwọle pẹlu Ijeri HTTP Ipilẹ.

O tun le fẹ lati ka wọnyi atẹle awọn itọsọna ti o ni ibatan olupin Nginx HT wulo.

  1. Bii o ṣe le Ọrọigbaniwọle Dabobo Awọn ilana wẹẹbu ni Nginx
  2. Itọsọna Gbẹhin lati Ni aabo, Ikunkun ati Ṣiṣe Iṣe ti Nginx
  3. Ṣiṣeto HTTPS pẹlu Jẹ ki Encrypt SSL Certificate For Nginx

Ninu itọsọna yii, a fihan bi a ṣe le ṣe idaniloju ifitonileti HTTP ipilẹ ni olupin ayelujara Nginx HTTP. Lati beere eyikeyi ibeere, lo fọọmu esi ni isalẹ.