Nginx-de esasy HTTP tassyklamasyny nädip sazlamaly


Esasy HTTP tanamaklyk, ýönekeý ulanyjy adyny/paroly tassyklamak arkaly web sahypaňyza/programmaňyza ýa-da onuň käbir böleklerine girmegi çäklendirýän howpsuzlyk mehanizmidir. Esasy HTTP serwerini, aýratyn serwer bloklaryny (Apache-de wirtual hostlar) ýa-da ýerleşiş bloklaryny goramak üçin esasan ulanylyp bilner.

Adyndan görnüşi ýaly, bil baglamak ygtybarly usul däl; beýleki ygtybarly howpsuzlyk çäreleri bilen bilelikde ulanmaly. Mysal üçin, web programmaňyz HTTP-de işleýän bolsa, ulanyjy şahsyýetnamalary açyk tekstde iberilýär, şonuň üçin HTTPS-i açmagy göz öňünde tutuň.

Bu gollanmanyň maksady, web programmalaryňyzdaky (meselem, administrator taraplary bilen çäklenmeýän) şahsy/artykmaç mazmuny goramak üçin kiçi, ýöne peýdaly howpsuzlyk gatlagyny goşmaga kömek etmekdir. Şeýle hem, ösüş etabynda bolan web sahypasyna ýa-da programma girmeginiň öňüni almak üçin ulanyp bilersiňiz.

  1. CentOS/RHEL 7-de LEMP Stack guruň
  2. Ubuntu/Debian-da LEMP Stack guruň

HTTP tanamaklyk ulanyjy faýly dörediň

ulanyjy ady: parol jübütlerini saklaýan faýl döretmekden başlamaly. Bu faýly döretmek üçin Apache HTTP Serwerinden htpasswd programmasyny ulanarys.

Ilki bilen “htpasswd” hyzmatyny üpjün edýän paketleriň “apache2-utils” ýa-da “httpd-tools” ulgamyňyzda gurnalandygyny barlaň, ýogsam ony gurmak üçin paýlamanyňyza degişli buýrugy işlediň:

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

Ondan soň, ilkinji ulanyjy bilen parol faýly döretmek üçin aşakdaky htpasswd buýrugyny işlediň. -c opsiýasy passwd faýlyny kesgitlemek üçin ulanylýar, [Enter] düwmesine basanyňyzdan ulanyjynyň parolyny girizmegiňiz soralar.

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

Ikinji ulanyjy goşuň we bu ýerde -c opsiýasyny ulanmaň.

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

Parol faýlyňyz taýýar bolansoň, web serweriňiziň girişini çäklendirmek isleýän böleklerini düzüň. Parol faýlynyň mazmunyny (ulanyjy atlaryny we kodlanan parollary öz içine alýar) görmek üçin aşakdaky pişik buýrugyny ulanyň.

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

Nginx üçin HTTP tanamaklygy sazlaň

Öň hem belläp geçişimiz ýaly, web serweriňize, ýekeje web sahypasyna (serwer blokuny ulanyp) ýa-da ýerleşiş direktiwasyna girip bilersiňiz. Muňa ýetmek üçin iki sany peýdaly görkezme ulanylyp bilner.

  • auth_basic -\HTTP Basic Autentifikasiýa protokolyny ulanyp, ulanyjy adynyň we parolynyň tassyklamasyny açýar.
  • auth_basic_user_file - parol faýlyny görkezýär.

Serverhli serwer bloklaryna degişli ähli web serweri üçin esasy tassyklamany amala aşyrmak üçin /etc/nginx/nginx.conf faýly açyň we aşakdaky setirleri http kontekstinde goşuň:

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

Belli bir domen ýa-da kiçi domen üçin esasy tassyklamany işjeňleşdirmek üçin, /etc/nginx/conf.d/ ýa-da/etc/nginx/conf/sites-elýeterli (Nginx-i nädip guranyňyza baglylykda) konfigurasiýa faýlyny açyň, soňra goşuň serwer blokynda ýa-da kontekstinde aşakdaky konfigurasiýa:

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

Şeýle hem, ýerleşiş direktiwasynyň içinde esasy tassyklamany açyp bilersiňiz. Aşakdaky mysalda, /admin ýerleşiş blokyna girmäge synanyşýan ähli ulanyjylardan tassyklanmagy soralar.

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

Esasy HTTP tassyklamasyny düzen bolsaňyz, web serweriňize ýa-da kiçi domene ýa-da sahypanyň belli bir bölegine girmäge synanyşýan ähli ulanyjy (aşakdaky nirede görkezilýändigine baglylykda) ulanyjy ady we paroly soralar. .

Ulanyjyny tanamak şowsuz bolsa, aşakda görkezilişi ýaly\401 Awtorizasiýa talap edilýär säwligi görkeziler.

Esasy HTTP autentifikasiýasy bilen girişi çäklendirmek barada has giňişleýin maglumat tapyp bilersiňiz.

Şeýle hem, aşakdaky peýdaly Nginx HTTP serweri bilen baglanyşykly gollanmalary okamak isläp bilersiňiz.

  1. Nginx-de web kataloglaryny nädip goramaly?
  2. Nginx-iň howpsuzlygyny üpjün etmek, berkitmek we öndürijiligini gowulandyrmak üçin iň soňky gollanma
  3. Nginx üçin SSL şahadatnamasyny şifrlemek bilen HTTPS gurmak

Bu gollanmada, Nginx HTTP web serwerinde esasy HTTP tassyklamasyny nädip amala aşyrmalydygyny görkezdik. Islendik sorag bermek üçin aşakdaky jogap görnüşini ulanyň.