Как получить и настроить LetsEncrypt SSL сертификат для сайта?
Spisu treści:
W tym przewodniku wyjaśnimy, jak przekierować ruch HTTP do HTTPS w Nginx.
Nginx wymawia „silnik x” to darmowy, otwarty serwer HTTP o wysokiej wydajności i zwrotny serwer proxy odpowiedzialny za obsługę niektórych największych witryn w Internecie.
W przeciwieństwie do HTTP, gdzie żądania i odpowiedzi są wysyłane i zwracane w postaci zwykłego tekstu, HTTPS używa TLS / SSL do szyfrowania komunikacji między klientem a serwerem.
Istnieje wiele korzyści z używania HTTPS przez HTTP, takich jak:
- Wszystkie dane są szyfrowane w obu kierunkach. W rezultacie przechwycenie poufnych informacji nie jest możliwe, jeśli zostaną przechwycone. Google Chrome i wszystkie inne popularne przeglądarki oznaczą Twoją witrynę jako bezpieczną. HTTPS pozwala na użycie protokołu HTTP / 2, co znacznie poprawia wydajność witryny. Google faworyzuje witryny HTTPS. Twoja witryna będzie miała wyższą pozycję w rankingu, jeśli będzie wyświetlana przez
Preferowaną metodą przekierowania HTTP na HTTPS w Nginx jest skonfigurowanie osobnego bloku serwera dla każdej wersji witryny. Należy unikać przekierowywania ruchu za pomocą dyrektywy if, ponieważ może to spowodować nieprzewidziane zachowanie serwera.
Przekieruj HTTP na HTTPS na stronę
Aby przekierować pojedynczą witrynę do HTTPS, otwórz plik konfiguracji domeny i wprowadź następujące zmiany:
server { listen 80; listen:80; server_name linuxize.com www.linuxize.com; return 301 https://linuxize.com$request_uri; }
Podzielmy kod wiersz po wierszu:
-
listen 80
- Blok serwera będzie nasłuchiwał połączeń przychodzących na porcie 80 dla określonej domeny.server_name linuxize.com www.linuxize.com
- Określa nazwy domenowe bloku serwera. Pamiętaj, aby zastąpić go nazwą swojej domeny.return 301
- Przekieruj ruch do wersji HTTPS witryny. Zmienna$request_uri
jest pełnym oryginalnym identyfikatorem URI żądania wraz z argumentami.
Zwykle będziesz również chciał przekierować wersję strony HTTPS na stronę inną niż www lub odwrotnie. Zalecanym sposobem wykonania przekierowania jest utworzenie osobnego bloku serwera dla wersji www i innych niż www.
Na przykład, aby przekierować żądania HTTPS www na stronę inną niż www, należy użyć następującej konfiguracji:
server { listen 80; listen:80; server_name linuxize.com www.linuxize.com; return 301 https://linuxize.com$request_uri; } server { listen 443 ssl http2; server_name www.linuxize.com; #… other code return 301 https://linuxize.com$request_uri; } server { listen 443 ssl http2; server_name linuxize.com; #… other code }
Przekieruj wszystkie witryny do HTTPS
Jeśli wszystkie witryny hostowane na serwerze są skonfigurowane do korzystania z HTTPS, a nie chcesz tworzyć osobnego bloku serwera HTTP dla każdej witryny, możesz utworzyć pojedynczy blok serwera HTTP typu catch-all. Ten blok przekieruje wszystkie żądania HTTP do odpowiednich bloków
Aby utworzyć pojedynczy blok HTTP typu catch-all, który przekieruje odwiedzających do wersji HTTPS witryny, otwórz plik konfiguracyjny Nginx i wprowadź następujące zmiany:
server { listen 80 default_server; listen:80 default_server; server_name _; return 301 https://$host$request_uri; }
Przeanalizujmy kod linia po linii:
-
listen 80 default_server
- Ustawia ten blok serwera jako domyślny (catch-all) dla wszystkich niedopasowanych domen.server_name _
-_
jest niepoprawną nazwą domeny, która nigdy nie pasuje do żadnej prawdziwej nazwy domeny.return 301
- Przekieruj ruch do odpowiedniego bloku serwera HTTPS z kodem stanu 301 (Przeniesiony na stałe). Zmienna$host
zawiera nazwę domeny żądania.
Na przykład, jeśli odwiedzający otworzy
http://example.com/page2
w przeglądarce, Nginx przekieruje żądanie na
https://example.com/page2
.
Jeśli to możliwe, preferuj tworzenie przekierowań dla poszczególnych domen zamiast globalnego przekierowania HTTP na
Wniosek
Po zainstalowaniu certyfikatu SSL w witrynie należy przekierować ruch HTTP na
W Nginx preferowanym sposobem przekierowania HTTP na HTTPS jest utworzenie osobnych bloków serwera i wykonanie przekierowania 301.
nginxCo oznaczają typowe błędy kodu statusu HTTP?
Kod statusu HTTPS to krótka notatka wysłana przez serwer wyświetlany w Internecie strona, gdy klient inicjuje żądanie do serwera. Wyjaśniliśmy wszystkie typowe komunikaty o błędach statusu HTTP i ich znaczenie.
Różnica między protokołem HTTP i HTTPS
Ewolucja HTTP, Jak działa HTTPS i wyjaśniona różnica między HTTP i HTTPS w prostych terminach. Protokół HTTP Vs HTTPS lub protokół Hypertext Transfer Protokół Secure Socket Layer.
Przejdź do bardziej bezpiecznego standardu https rozpoczynając od zabicia http
Stary standard HTTP musi umrzeć, aby HTTPS był de facto standardem Internetu. Ruch się rozpoczął, ale daleki jest od zakończenia.