Nginx

Nginx przekierowuje HTTP do HTTPS

Nginx przekierowuje HTTP do HTTPS
Nginx, wymawiane jako „Engine x”, to darmowa, wysokowydajna sieć oparta na systemie Linux o otwartym kodzie źródłowym i odwrócony serwer proxy, który jest odpowiedzialny za zarządzanie i obsługę obciążenia największego ruchu witryn w Internecie. Nginx to potężne narzędzie przekierowujące, które można łatwo skonfigurować w systemie, aby przekierować mniej bezpieczny lub niezaszyfrowany ruch internetowy HTTP do zaszyfrowanego i zabezpieczonego serwera HTTPS. Jeśli jesteś administratorem systemu lub programistą, to regularnie korzystasz z serwera Nginx.

W tym artykule dowiemy się, jak przekierować ruch internetowy z HTTP do bezpiecznego HTTPS w Nginx.

Odpowiedzi i żądania są zwracane w postaci zwykłego tekstu w HTTP, natomiast HTTPS używa SSL/TLS do szyfrowania komunikacji między systemem klient-serwer. Dlatego z wielu powodów HTTPS jest używany przez HTTP, które są wymienione poniżej:

Preferowane jest przekierowywanie ruchu HTTP do HTTPS w Nginx w osobnym bloku serwera dla każdej wersji witryny. Zaleca się również unikanie przekierowywania ruchu w kierunku „jeśli”, co może powodować nietypowe zachowanie serwera.

Przekieruj cały ruch z HTTP na HTTPS

Dodaj następujące zmiany do pliku konfiguracyjnego Nginx, aby przekierować cały ruch z wersji HTTP na HTTPS:

serwer
słuchaj 80 default_server;
Nazwa serwera _;
zwróć 301 https://$host$request_uri;

Poniżej opracowaliśmy każdy z powyższych terminów:

Listen 80 default_server - to zasygnalizuje systemowi, że przechwytuje cały ruch HTTP na porcie 80.
Nazwa_serwera _ - jest to domena, która będzie pasować do dowolnej nazwy hosta.

Zwróć 301 https://$host$request_uri - to informuje wyszukiwarki, które przekierowują je na stałe. Określa, że ​​zmienna $host przechowuje nazwy domen.

Po zmianie ustawień konfiguracyjnych musisz ponownie załadować usługi Nginx w swoim systemie. Załaduj ponownie usługi Nginx za pomocą następującego polecenia:

$ sudo systemctl przeładuj nginx

Przekieruj wersję HTTP do HTTPS dla określonej domeny w Nginx

Po zainstalowaniu certyfikatu SSL w swojej domenie będziesz mieć dwie opcje blokowania serwera dla tej domeny. Jeden blok dotyczy wersji HTTP nasłuchującej na porcie 80, a druga wersja to HTTPS na porcie 443. Aby jednak przekierować pojedynczą domenę witryny z HTTP na HTTPS, musisz otworzyć konfigurację Nginx. Możesz znaleźć ten plik konfiguracyjny w katalogu /etc/nginx/sites-available. W każdym razie, jeśli nie znalazłeś tego pliku, możesz go wyszukać za pomocą /etc/nginx/nginx.conf, /usr/local/nginx/conf lub /usr/local/etc/nginx, a następnie wykonaj następujące zmiany w tym pliku:

serwer
posłuchaj 80;
nazwa_serwera nazwa-domeny.com www.Nazwa domeny.pl;
return 301 https://nazwa-domeny.com$request_uri;

Rozumiemy powyższy kod linia po linii.
Listen 80 - używając portu 80 serwer będzie nasłuchiwał wszystkich połączeń przychodzących z określonej domeny.

Nazwa_serwera nazwa_domeny.com www.Nazwa domeny.com - określa nazwy domen. Zastąp go nazwą domeny witryny, którą chcesz przekierować.

Zwróć 301 https://nazwa-domeny.com$request_uri - przenosi ruch do wersji HTTPS strony. Zmienna $request_uri jest używana dla pełnego oryginalnego identyfikatora URI żądania, w którym zawarte są również argumenty.

Korzystając z następującej metody, możesz przekierować ruch do wersji HTTPS z www na wersję bez www. Zaleca się utworzenie przekierowania w osobnym bloku serwera zarówno dla wersji bez www, jak i www.

Wyjaśnijmy na przykładzie. Jeśli chcesz przekierować żądania www HTTPS do wersji bez www, postępuj zgodnie z następującą konfiguracją:

serwer
posłuchaj 80;
nazwa_serwera nazwa-domeny.com www.Nazwa domeny.pl;
return 301 https://nazwa-domeny.com$request_uri;

serwer
słuchaj 443 ssl http2;
nazwa_serwera www.Nazwa domeny.pl;
#… inny kod
return 301 https://nazwa-domeny.com$request_uri;

serwer
słuchaj 443 ssl http2;
nazwa_serwera nazwa-domeny.pl;
#… inny kod

Zastąp nazwę domeny nazwą swojej domeny, np. www.linuxhint.com.

Wniosek

Omówiliśmy, jak przekierować ruch z wersji HTTP do HTTPS na serwerze Nginx. Zmieniając ustawienie pliku konfiguracyjnego Nginx, możesz łatwo przekierować ruch do HTTPS dla określonej domeny lub przekierować wszystkie. Ta metoda, o której wspomnieliśmy w tym artykule, może pomóc w zwiększeniu bezpieczeństwa Twojej witryny poprzez wprowadzenie jakichkolwiek zmian w doświadczeniu użytkownika.

Jak używać Xdotool do stymulacji kliknięć myszą i naciśnięć klawiszy w systemie Linux?
Xdotool to darmowe i otwarte narzędzie wiersza poleceń do symulacji kliknięć myszą i naciśnięć klawiszy. Ten artykuł zawiera krótki przewodnik dotyczą...
5 najlepszych ergonomicznych myszy komputerowych dla systemu Linux
Czy długotrwałe korzystanie z komputera powoduje ból nadgarstka lub palców?? Cierpisz na sztywne stawy i ciągle musisz uścisnąć dłonie? Czy czujesz pa...
Jak zmienić ustawienia myszy i touchpada za pomocą Xinput w systemie Linux?
Większość dystrybucji Linuksa jest domyślnie dostarczana z biblioteką „libinput” do obsługi zdarzeń wejściowych w systemie. Może przetwarzać zdarzenia...