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:
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:
serwerPoniż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:
serwerZrozumiemy 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ą:
serwerZastą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.