Jak włączyć podstawowe uwierzytelnianie na Nginx

Jak włączyć podstawowe uwierzytelnianie na Nginx

Nginx jest jednym z popularnych serwerów WWW używanych do hostingu. W tym samouczku nauczysz się skonfigurować podstawowe uwierzytelnianie na Nginx dla swojej witryny. Ten samouczek będzie użył htpasswd Narzędzie poleceń z pakietu narzędzi Apache do generowania zaszyftowanych plików poświadczeń.

1. Zainstaluj narzędzia Apache

Potrzebujesz htpasswd polecenie tworzenia .htpasswd z zaszyfrowanymi szczegółami logowania. Więc zainstaluj narzędzia Apache, aby uzyskać htpasswd polecenie w swoim systemie.

Używając apt-get:

$ sudo apt-get instaluj Apache2-Utils 

Używanie mniam:

$ yum instaluj httpd-tools 
  • Jak skonfigurować wirtualne hosty Nginx na Ubuntu i Debian

2. Utwórz plik poświadczeń

Najpierw musisz stworzyć pusty /etc/nginx/.htpasswd Plik, jeśli nie istnieje. Możesz to również zrobić za pomocą -c w poleceniu htpasswd. Ale to zastąpi istniejący plik i możesz przypadkowo zastąpić istniejący plik, dodając więcej użytkowników.

$ touch/etc/nginx/.htpasswd 

Powyższe polecenie utworzy nowy plik lub po prostu zmieni znaczniki czasu dla istniejącego pliku. Zacznijmy dodawać nowych użytkowników za pomocą polecenia HTPassWd.

$ htpasswd -m/etc/nginx/.htpasswd użytkownik1 $ htpasswd -m/etc/nginx/.HTPASSWD Użytkownik2 
  • -M służy do tworzenia haseł szyfrowanych MD5.

3. Edytuj konfigurację Nginx

Na tym etapie edytuj plik konfiguracyjny Nginx dla bloku serwera. Dodaj następujący wpis w bloku serwera, który musisz uwierzytelnić.

serwer posłuchaj 80 default_server; Nazwa serwera _; root/usr/share/nginx/html;  lokalizacja / auth_basic „ograniczony obszar”; auth_basic_user_file/etc/nginx/.htpasswd;   

Zaktualizuj ścieżkę lokalizacji, aby ograniczyć określony adres URL aplikacji aplikacji internetowej.

 Lokalizacja /ograniczenie / auth_basic „ograniczony obszar”; auth_basic_user_file/etc/nginx/.htpasswd;  

4. Załaduj serwer Nginx

Aby zastosować zmiany w konfiguracji serwera, ponownie załaduj serwer Nginx za pomocą następujących poleceń.

$ sudo /etc /init.D/Nginx Reload 

Użytkownicy SystemCtl mogą również korzystać z poniższego polecenia.

$ sudo systemCtl Reload nginx.praca