Giunsa Pagpanalipod sa Password ang Mga Direktoryo sa Web sa Nginx


Ang mga tagdumala sa mga proyekto sa web kanunay kinahanglan nga panalipdan ang ilang trabaho sa usa ka paagi o lain. Kasagaran mangutana ang mga tawo kung giunsa pagpanalipod sa password ang ilang website samtang nagpadayon pa kini.

Sa kini nga panudlo, ipakita namon kanimo ang usa ka yano, apan epektibo nga teknik kung giunsa ang protektado sa password nga direktoryo sa web kung nagdagan ang Nginx ingon web server.

Kung naggamit ka sa Apache web server, mahimo nimong susihon ang among giya alang sa pagpanalipod sa password sa usa ka direktoryo sa web:

  1. Password Protect Web Directories sa Apache

Aron makompleto ang mga lakang sa kini nga panudlo, kinahanglan nimo nga adunay:

  • Na-install ang Nginx web server
  • Root access sa server

Lakang 1: Paghimo User ug Password

1. Aron maprotektahan sa password ang among web directory, kinahanglan namo nga himoon ang file nga maglangkob sa among na-encrypt nga username ug password.

Kung gigamit ang Apache, mahimo nimong gamiton ang utility nga htpasswd. Kung na-install nimo kana nga utility sa imong sistema, mahimo nimong gamiton kini nga mando aron makamugna ang file sa password:

# htpasswd -c /path/to/file/.htpasswd username

Kung nagdagan kini nga mando, hangyoon ka nga magbutang usa ka password alang sa tiggamit sa ibabaw ug pagkahuman ang .htpasswd file pagahimoon sa gitakda nga direktoryo.

2. Kung wala nimo na-install kana nga himan, mahimo nimong buhaton ang .htpasswd file nga mano-mano. Ang file kinahanglan adunay mosunod nga syntax:

username:encrypted-password:comment

Ang username nga imong gamiton nagdepende kanimo, pilia kung unsa ang imong gusto.

Ang mas importante nga bahin mao ang paagi nga ikaw makamugna sa password alang niana nga user.

Lakang 2: Paghimo Naka-encrypt nga Password

3. Aron makamugna sa password, gamita ang Perl's integrated crypt function.

Ania ang usa ka pananglitan niana nga sugo:

# perl -le 'print crypt("your-password", "salt-hash")'

Usa ka tinuod nga ehemplo sa kinabuhi:

# perl -le 'print crypt("#12Dfsaa$fa", "1xzcq")'

Karon ablihi ang usa ka file ug ibutang ang imong username ug ang nabuhat sa hilo niini, gibulag sa semicolon.

Ania kung giunsa:

# vi /home/tecmint/.htpasswd

Ibutang ang imong username ug password. Sa akong kaso kini ingon niini:

tecmint:1xV2Rdw7Q6MK.

I-save ang file pinaagi sa pag-igo sa Esc nga gisundan sa : wq.

Lakang 3: I-update ang Nginx Configuration

4. Karon ablihi ug i-edit ang Nginx configuration file nga nalangkit sa site nga imong gitrabahoan. Sa among kaso among gamiton ang default file sa:

# vi /etc/nginx/conf.d/default.conf       [For CentOS based systems]
OR
# vi /etc/nginx/nginx.conf                [For CentOS based systems]


# vi /etc/nginx/sites-enabled/default     [For Debian based systems]

Sa among pananglitan, among protektahan ang password sa direktoryo nga gamut alang sa nginx, nga mao ang: /usr/share/nginx/html.

5. Karon idugang ang mosunod nga duha ka linya nga seksyon ubos sa dalan nga gusto nimong panalipdan.

auth_basic "Administrator Login";
auth_basic_user_file /home/tecmint/.htpasswd;

Karon i-save ang file ug i-restart ang Nginx sa:

# systemctl restart nginx
OR
# service nginx restart

6. Karon kopya/idikit kana nga IP address sa imong browser ug kinahanglang pangutan-on ka sa password:

Mao na! Ang imong nag-unang direktoryo sa web gipanalipdan na karon. Kung gusto nimong tangtangon ang proteksyon sa password sa site, kuhaa lang ang duha ka linya nga imong gidugang sa .htpasswd file o gamita ang mosunud nga mando aron makuha ang gidugang nga tiggamit gikan sa usa ka file sa password.

# htpasswd -D /path/to/file/.htpasswd username