Otu esi ahazi nyocha HTTP Basic na Nginx


Nyocha HTTP bụ isi bụ usoro nchekwa iji gbochie ịbanye na webụsaịtị/ngwa ma ọ bụ akụkụ ụfọdụ ya site n'ịtọlite aha njirimara/paswọọdụ dị mfe. Enwere ike iji ya nke ọma iji chebe sava HTTP dum, ihe mgbochi nkesa nke ọ bụla (ndị ọbịa na Apache) ma ọ bụ ngọngọ ọnọdụ.

Dị ka aha ahụ na-egosi, ọ bụghị ụzọ echedoro ịdabere na ya; ịkwesịrị iji ya yana usoro nchekwa ndị ọzọ a pụrụ ịdabere na ya. Dịka ọmụmaatụ, ọ bụrụ na ngwa weebụ gị na-agba ọsọ na HTTP, mgbe ahụ, a na-ebufe nzere onye ọrụ na ederede dị larịị, yabụ ị ga-atụle ịme HTTPS.

Ebumnuche nke ntuziaka a bụ inyere gị aka ịgbakwunye obere nchekwa nchekwa bara uru iji kpuchido ọdịnaya nzuzo/oke na ngwa weebụ gị (dịka, mana ọnweghị oke na akụkụ nchịkwa). Ịnwekwara ike iji ya gbochie ịbanye na webụsaịtị ma ọ bụ ngwa nke ka nọ na usoro mmepe.

  1. Wụnye nchịkọta LEMP na CentOS/RHEL 7
  2. Wụnye LEMP Stack na Ubuntu/Debian

Mepụta faịlụ njirimara HTTP nyocha

Ị ga-amalite site na ịmepụta faịlụ ga-echekwa aha njirimara: paswọọdụ ụzọ abụọ. Anyị ga-eji ike htpasswd sitere na Apache HTTP Server, iji mepụta faịlụ a.

Buru ụzọ lelee na apache2-utils ma ọ bụ httpd-tools, ngwugwu ndị na-enye htpasswd utility arụnyere na sistemụ gị, ma ọ bụghị na-agba ọsọ kwesịrị ekwesị maka nkesa gị iji wụnye ya:

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

Na-esote, gbaa iwu htpasswd n'okpuru iji mepụta faịlụ paswọọdụ na onye ọrụ mbụ. A na-eji nhọrọ -c kọwaa faịlụ passwd, ozugbo ị kụrụ [Tinye], a ga-ajụ gị ka itinye paswọọdụ onye ọrụ.

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

Tinye onye ọrụ nke abụọ, ma ejikwala nhọrọ -c ebe a.

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

Ugbu a ị nwere faịlụ paswọọdụ dị njikere, gaba n'ihu hazie akụkụ nke sava weebụ gị nke ịchọrọ igbochi ịnweta. Ka ilele ọdịnaya faịlụ paswọọdụ (nke gụnyere aha njirimara na okwuntughe ezoro ezo), jiri iwu nwamba dị n'okpuru.

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

Hazie nyocha HTTP maka Nginx

Dịka anyị kwuru na mbụ, ị nwere ike igbochi ịnweta sava weebụ gị, otu saịtị weebụ (iji ngọngọ nkesa ya) ma ọ bụ ntuziaka ọnọdụ. Enwere ike iji ntuziaka abụọ bara uru iji nweta nke a.

  • auth_basic – na-atụgharị nkwado nke aha njirimara na paswọọdụ site na iji protocol \HTTP Basic Authentication.
  • auth_basic_user_file – ezipụta faịlụ paswọọdụ.

Iji mejuputa nkwenye bụ isi maka sava weebụ dum, nke metụtara ihe mgbochi sava niile, mepee faịlụ /etc/nginx/nginx.conf wee tinye ahịrị dị n'okpuru na ọnọdụ http:

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

Iji mee ka nkwenye dị mkpa maka otu ngalaba ma ọ bụ ngalaba ngalaba, mepee faịlụ nhazi ya n'okpuru /etc/nginx/conf.d/ ma ọ bụ /etc/nginx/conf/sites-available (dabere na otu i siri tinye Nginx), wee tinye ya nhazi n'okpuru na ngọngọ ma ọ bụ ihe nkesa nkesa:

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

Ị nwekwara ike mee ka nyocha bụ isi n'ime ntuziaka ọnọdụ. N'ihe atụ dị n'okpuru, a ga-ajụ ndị ọrụ niile na-agbalị ịnweta ngọngọ /admin ka ha nyochaa.

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

Ọ bụrụ na ị haziela nyocha HTTP bụ isi, onye ọrụ niile na-agbalị ịnweta sava weebụ gị ma ọ bụ ngalaba ngalaba ma ọ bụ akụkụ ụfọdụ nke saịtị (dabere na ebe i mebere ya), ga-ajụ maka aha njirimara na paswọọdụ dị ka egosiri na nseta ihuenyo dị n'okpuru. .

Ọ bụrụ na njirimara onye ọrụ dara ada, a ga-egosipụta mperi \401 ikike achọrọ dị ka egosiri n'okpuru.

Ị nwere ike ịchọta ozi ndị ọzọ na machibido ohere na nyocha HTTP Basic.

Ị nwekwara ike ịmasị ịgụ ntuziaka ndị metụtara Nginx HTTP ndị a bara uru.

  1. Etu esi echekwa paswọọdụ webụ na Nginx
  2. Ntuziaka kacha mma maka nchekwa, sie ike na kwalite arụmọrụ nke Nginx
  3. Ịtọlite HTTPS na Ka Anyị Encrypt SSL Asambodo Maka Nginx

N'ime ntuziaka a, anyị gosiri otu esi emejuputa nyocha HTTP bụ isi na sava weebụ Nginx HTTP. Iji jụọ ajụjụ ọ bụla, jiri ụdị nzaghachi dị n'okpuru.