Powrót do bloga

Konfiguracja podstawowego uwierzytelniania HTTP za pomocą Nginx na Ubuntu 20.04

Konfiguracja podstawowego uwierzytelniania HTTP za pomocą Nginx na Ubuntu 20.04

Nginx to darmowy serwer WWW o otwartym kodzie źródłowym, używany do równoważenia obciążenia, buforowania i pamięci podręcznej. Od momentu powstania w 2004 roku, Nginx zyskał popularność dzięki skalowaniu serwerów WWW i odwrotnemu proxy. Ze względu na swoją wysoką wydajność i doskonałe możliwości obsługi dużej liczby połączeń, jest używany do zarządzania i kontrolowania ruchu przychodzącego.

Jak działa uwierzytelnianie HTTP?

W podstawowym uwierzytelnianiu HTTP, wszystkie ścieżki na serwerze są zablokowane i wymagają odpowiednich danych uwierzytelniających do autoryzacji. Za każdym razem, gdy użytkownik próbuje uzyskać dostęp do zabezpieczonego zasobu, serwer wysyła użytkownikowi nagłówek WWW-Authenticate oraz odpowiedź 401 Unauthorized. Jeśli nazwa użytkownika i hasło użyte przez użytkownika są poprawne i zgadzają się z plikiem klucza, połączenie zostaje nawiązane, w przeciwnym razie zostaje odrzucone.

W tym samouczku przeprowadzimy Cię przez kroki konfiguracji podstawowego uwierzytelniania HTTP z Nginx na Ubuntu 20.04.

Wymagania wstępne

Aby móc postępować zgodnie z tym samouczkiem, będziesz potrzebować:

Krok 1: Aktualizacja repozytoriów oprogramowania

Przed zainstalowaniem nowego oprogramowania lub pakietu API w systemie, odśwież repozytoria, aby uniknąć błędów lub konfliktów pakietów. Na początku zaktualizujemy oprogramowanie za pomocą polecenia sudo polecenia:

Teraz, gdy zaktualizowaliśmy repozytoria oprogramowania, zainstalujmy niezbędne apache2 pakiety.

Krok 2: Instalacja niezbędnych pakietów

Ponieważ konfigurujemy uwierzytelnianie HTTP dla katalogu, użyjemy polecenia htpasswd do utworzenia zaszyfrowanego hasła. Zainstaluj pakiet apache2-utils za pomocą następującego polecenia:

Krok 3: Utworzenie użytkownika i hasła

W tym kroku skonfigurujemy dane uwierzytelniające podstawowego uwierzytelniania HTTP. W katalogu głównym utwórz plik .htpasswd powiązany z użytkownikiem. Hasło zostanie zaszyfrowane, a nazwa pliku może być dowolna. Użyj następującego polecenia, aby utworzyć plik i dodać użytkownika z zaszyfrowanym hasłem:

User and Password

Następnie zweryfikuj nowo utworzony plik za pomocą następującego polecenia:

newly-created file

Krok 4: Aktualizacja konfiguracji Nginx

Gdy mamy już dane uwierzytelniające podstawowego uwierzytelniania HTTP, skonfigurujmy Nginx i użyjmy go na naszej docelowej stronie internetowej. Wymagamy dyrektyw auth_basic oraz auth_basic_user_file do ustanowienia podstawowego uwierzytelniania HTTP. Wartość dyrektywy auth_basic jest formatem ciągu znaków, podczas gdy wartość auth_basic_user_file to ścieżka do pliku haseł utworzonego w Kroku 3.

Ważne jest, aby uwzględnić te dwie dyrektywy w pliku konfiguracyjnym docelowej witryny. Lokalizację docelowej witryny znajdziesz w katalogu /etc/nginx/sites-available . Otwórz plik konfiguracyjny za pomocą edytora nano:

Then, add both of these directives under the location section:

Po dodaniu dyrektywy zapisz i zamknij plik konfiguracyjny.

Krok 5: Restart Nginx

Następnie przeładuj lub uruchom ponownie usługi Nginx, aby zastosować zmiany na naszym wirtualnym hoście. Po tym spróbujemy uzyskać dostęp do zabezpieczonej domeny za pomocą naszego podstawowego uwierzytelniania HTTP. Użyj następującego polecenia, aby aktywować usługi Nginx:

Krok 6: Bezpieczny dostęp do sieci

Po ponownym uruchomieniu Nginx kolejnym krokiem jest próba uzyskania dostępu do adresu IP lub nazwy domeny w ulubionej przeglądarce. Po kliknięciu adresu IP http://your_domain_name/ w przeglądarce otworzy się okno z prośbą o podanie danych uwierzytelniających. Po wprowadzeniu poprawnej nazwy użytkownika i hasła zobaczysz domyślną stronę główną Nginx.

Podsumowanie

W tym samouczku dowiedzieliśmy się, jak skonfigurować podstawowe uwierzytelnianie HTTP w Nginx. Podstawowe uwierzytelnianie za pomocą nazwy użytkownika i hasła to tylko jedna z wielu opcji uwierzytelniania pozwalających na nawiązanie bezpiecznego połączenia w Nginx.

Istnieją inne zaawansowane opcje służące do uwierzytelniania serwera. Na przykład niektóre popularne metody, z których można skorzystać, obejmują integracje API, JSON Web Tokens, uwierzytelnianie oparte na kluczach SSH. Choć wdrożenie silnych mechanizmów bezpieczeństwa może początkowo wydawać się skomplikowane, są one niezwykle skuteczne w ochronie Twojej prywatności.

Ponadto istnieje wiele innych materiałów edukacyjnych i samouczków dotyczących Nginx, do których można uzyskać dostęp z naszych blogów:

Miłego korzystania z komputera!

author

Shreyas Patil

Autor · CloudSigma

Preslav Dobrev jest projektantem kreatywnym w CloudSigma, skupiającym się na spójnej tożsamości biznesowej przy wykorzystaniu tradycyjnych i innowacyjnych kanałów marketingowych. Biegle łączy wizję artystyczną ze strategicznym marketingiem, tworząc wywierające wpływ narracje marki.

Komentarze

Brak komentarzy. Bądź pierwszy.