Nginx przekieruj HTTP do HTTPS

Nginx przekieruj HTTP do HTTPS
Nginx, wymawiany jako „silnik X”, to bezpłatna, wysokowydajna sieć linux oparta na Linux i odwrotny serwer proxy, który jest odpowiedzialny za zarządzanie i obsługę obciążenia największego ruchu stron internetowych w Internecie. Nginx to potężne narzędzie przekierowania, które można łatwo skonfigurować w systemie, aby przekierować mniej bezpieczny lub niezaszyfrowany ruch sieciowy HTTP do zaszyfrowanego i zabezpieczonego serwera WWW HTTPS. Jeśli jesteś administratorem systemu lub programistą, regularnie używasz serwera Nginx.

W tym artykule będziemy pracować nad przekierowaniem ruchu internetowego z HTTP do bezpiecznego HTTPS w Nginx.

Odpowiedzi i żądania są zwracane w postaci zwykłego tekstu w HTTP, podczas gdy HTTPS używa SSL/TLS do szyfrowania komunikacji między klientem a systemem serwera. Dlatego z wielu powodów HTTPS jest używany przez HTTP, które wymieniono poniżej:

  • Wszystkie dane między obsługą klienta w obu kierunkach są szyfrowane. Jednak każdy nie może uzyskać dostępu do poufnych informacji, jeśli zostanie przechwycony.
  • Gdy korzystasz z HTTPS, Google Chrome i inne przeglądarki uznają domenę Twojej witryny za bezpieczną.
  • Wersja HTTPS poprawia określoną wydajność witryny za pomocą protokołu HTTP/2.
  • Jeśli obsługujesz domenę witryny za pośrednictwem HTTPS, wówczas strona internetowa będzie lepsza w Google, ponieważ sprzyja wszystkim zabezpieczonym witrynom HTTPS.

Preferowany jest przekierowanie ruchu HTTP do HTTPS w Nginx w osobnym bloku serwerowym dla każdej wersji witryny. Zaleca się również unikanie przekierowania ruchu za pomocą kierunku „If”, który może powodować niezwykłe zachowanie serwera.

Przekieruj cały ruch z HTTP do HTTPS

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

serwer
posłuchaj 80 default_server;
Nazwa serwera _;
return 301 https: // $ host $ request_URI;

Poniżej opracowaliśmy każdy wyżej wymieniony termin:

Posłuchaj 80 Default_Server - Będzie to sygnalizować system, który łapie cały ruch HTTP na porcie 80.
Server_name _ - 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 zawiera nazwy domeny.

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

$ sudo systemCtl Reload nginx

Przekieruj HTTP do wersji HTTPS dla określonej domeny w Nginx

Po zainstalowaniu certyfikatu SSL w domenie, będziesz mieć dwie opcje bloków serwerów dla tej domeny. Jeden blok dotyczy słuchania wersji HTTP na porcie 80, a druga wersja to HTTPS na porcie 443. Jednak aby przekierować jedną domenę witryny z HTTP do HTTPS, musisz otworzyć konfigurację Nginx. Możesz zlokalizować ten plik konfiguracyjny w katalogu/etc/nginx/witryny. 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;
Server_name nazwa domeny.com www.Nazwa domeny.com;
zwróć 301 https: // nazwa domeny.com $ request_uri;

Zrozumiemy powyższą linię kodu po wierszu.
Słuchaj 80 - Korzystając z portu 80, serwer będzie słuchać wszystkich przychodzących połączeń określonych domeny.

Server_name nazwa domeny.com www.Nazwa domeny.com - określa nazwy domeny. Zastąp go na nazwę domeny swojej witryny, którą chcesz przekierować.

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

Za pomocą następującej metody możesz przekierować ruch do wersji HTTPS WWW do wersji nietoperze witryny. Zaleca się utworzenie przekierowania w osobnym bloku serwerowym zarówno dla wersji nie-WWW, jak i WWW.

Wyjaśnijmy przykładem. Jeśli chcesz przekierować żądania WWW HTTPS do wersji innej niż WWW, będziesz postępować zgodnie z następującą konfiguracją:

serwer
Posłuchaj 80;
Server_name nazwa domeny.com www.Nazwa domeny.com;
zwróć 301 https: // nazwa domeny.com $ request_uri;

serwer
Posłuchaj 443 SSL HTTP2;
Server_name www.Nazwa domeny.com;
#… Inny kod
zwróć 301 https: // nazwa domeny.com $ request_uri;

serwer
Posłuchaj 443 SSL HTTP2;
Server_name nazwa domeny.com;
#… Inny kod

Zastąp nazwę domeny swoją domeną, taką jak 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 na HTTPS dla określonej domeny lub przekierować wszystkie. Ta metoda, o której wspomnialiśmy w tym artykule, może pomóc Ci zwiększyć bezpieczeństwo witryny, wprowadzając wszelkie zmiany w doświadczeniu użytkownika.