Przekieruj HTTP do HTTPS przy użyciu Nginx lub Apache2 na Ubuntu 17.04

  • Giles Benson
  • 0
  • 2224
  • 704

Dla studentów i nowych użytkowników korzystających z Ubuntu 17.04 z serwerem internetowym Nginx lub Apache2 do zasilania bloga lub witryny WordPress, oto krótki samouczek, który pokazuje, jak łatwo przekierować cały ruch HTTP do HTTPS.

Prawdopodobnie już wiesz, że uruchamianie stron blogów przez HTTPS jest zalecane przez wszystkie główne wyszukiwarki. W rzeczywistości, jeśli chcesz, aby Twoje strony internetowe miały lepszą pozycję na stronach wyników wyszukiwania Google, może być konieczne uruchomienie ich przez HTTPS.

Ten post nie pokaże Ci, jak wdrożyć HTTPS w swoich blogach. Pokazuje, jak przekierować cały ruch HTTP do HTTPS po włączeniu HTTPS na serwerze internetowym Nginx lub Apache2.

Zakładając, że masz już protokół HTTPS na swoich stronach, przejdź poniżej, aby skonfigurować odpowiednie przekierowania dla swoich witryn.

Przekierowania Nginx HTTP do HTTPS

Teraz, gdy HTTPS działa, poniżej znajduje się podświetlony blok serwera, który należy dodać do istniejącej strony konfiguracji Nginx. Blok przekierowuje cały ruch HTTP do HTTPS z WWW przed nazwą domeny.

serwer nasłuchuj 80; słuchaj [::]: 80; nazwa_serwera twoja_domena.com www.twojadomena.com; # przekierowanie http do https ze zwrotem www 301 https: //www.example.com$request_uri;  serwer nasłuchiwanie 443 ssl http2; nasłuchuj [::]: 443 ssl http2; nazwa_serwera twoja_domena.com; root / var / www / html; # Kod SSL… ## Lokalizacja ustawień PHP ~ \ .php $ fastcgi_split_path_info ^ (. + \. Php) (/.+) $; fastcgi_pass unix: /var/run/php/php7.0-fpm.sock; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; try_files $ uri = 404; fastcgi_index index.php; 

Dodaj podświetlony górny blok serwera i zapisz plik.

Jeśli chcesz przekierować cały ruch HTTP do HTTPS bez rozszerzenia WWW zamień podświetloną linię przekierowania powyżej na poniższą.

# przekierowanie http do https bez powrotu www 301 https: //example.com$request_uri;

Tak to się robi za pomocą serwera WWW Nginx.

Przekierowania Apache2 HTTP do HTTPS

W przypadku serwerów WWW Apache2 musisz włączyć mod_rewrite moduł. Aby to zrobić, uruchom poniższe polecenia

sudo a2enmod przepisać

Po włączeniu powyższego modułu dodaj poniższy kod do pliku .httaccess… zwykle w katalogu głównym witryny, aby przekierować cały ruch HTTP do HTTPS.

RewriteEngine On # przekierowanie http do https RewriteCond% HTTPS off RewriteRule ^ (. *) $ Https: //% HTTP_HOST% REQUEST_URI [L, R = 301]

Jeśli chcesz przekierować wszystkie HTTP do HTTPS z poprzedzającym WWW, zamień powyższy kod na poniższy.

RewriteEngine On # przekieruj wszystkie inne niż www do https z www RewriteCond% HTTP_HOST! ^ Www \. (. *) $ [NC] RewriteRule ^ (. *) $ Https: //www.%1/$1 [L, R = 301] # przekierowanie http www do https www RewriteCond% HTTPS off RewriteRule ^ (. *) $ Https: //www.% HTTP_HOST% REQUEST_URI [L, R = 301]

Jeśli chcesz przekierować cały ruch do HTTPS bez WWW, użyj poniższego kodu

RewriteEngine On # przekieruj wszystkie strony www na https inne niż www RewriteCond% HTTP_HOST ^ www \. (. *) $ [NC] RewriteRule ^ (. *) $ Https: //% 1 / $ 1 [L, R = 301] # redirect http non-www to https non-www RewriteCond% HTTPS off RewriteRule ^ (. *) $ https: //% HTTP_HOST% REQUEST_URI [L, R = 301]

Zrestartuj serwer WWW i gotowe.

Podsumowanie:

To jest post, który pokazuje, jak wykonać prawidłowe przekierowanie HTTP do HTTPS podczas korzystania z serwera WWW Apache2 lub Nginx w systemie Ubuntu lub innych dystrybucjach Linuksa. Implementacja protokołu HTTPS w swoich witrynach zostanie napisana w innym poście.

Wypatruj kolejnych postów na temat implementacji protokołu HTTPS w swoich witrynach i blogach.

Cieszyć się!




Jeszcze bez komentarzy

Zbiór przydatnych informacji o systemie operacyjnym Linux i nowych technologiach
Świeże artykuły, praktyczne wskazówki, szczegółowe recenzje i poradniki. Poczuj się jak w domu w świecie systemu operacyjnego Linux