Úvod
Nginx (vyslovuje se „Engine-X“) je webový server a proxy aplikace založená na Linuxu. Nginx je výkonný nástroj pro přesměrování a správu webového provozu. Lze jej snadno nakonfigurovat tak, aby přesměroval nešifrovaný webový provoz HTTP na šifrovaný server HTTPS.
Tento průvodce vám ukáže, jak přesměrovat HTTP na HTTPS pomocí Nginx.
Předpoklady
- Server Linux se systémem Nginx
- Uživatelský účet s sudo privilegia
- Vzdálené přihlášení k webovému serveru (volitelné, nutné pouze v případě, že nepracujete přímo na svém webovém serveru)
- Přístup k terminálu/příkazovému řádku (Ctrl-Alt-T nebo Ctrl-Alt-F2)
Přesměrování HTTP na HTTPS
Chcete-li vynutit přesměrování HTTP na HTTPS, musíte upravit konfigurační soubor Nginx.
Ve většině případů můžete soubor najít v /etc/nginx/sites-available adresář. Pokud jej nenaleznete, vyhledejte jej zde:/etc/nginx/nginx.conf, /usr/local/nginx/conf nebo /usr/local/etc/nginx .
Jakmile najdete konfigurační soubor Nginx, otevřete jej v textovém editoru příkazem:
sudo nano /etc/nginx/sites-available/server.conf
Nahraďte umístění skutečným umístěním a názvem vašeho konfiguračního souboru.
Jakmile je konfigurační soubor otevřen pro úpravy, vložte jeden z níže uvedených bloků kódu. Po dokončení úprav soubor uložte a ukončete. Poté restartujte službu Nginx pomocí následujícího příkazu:
sudo service nginx restart
Nginx přesměruje veškerý provoz HTTP na HTTPS
Otevřete konfigurační soubor Nginx pro úpravy a vložte následující kód:
server {
listen 80 default_server;
server_name _;
return 301 https://$host$request_uri;
}
Zde je rozpis příkazů:
Listen 80
:To dává systému pokyn, aby zachytil veškerý provoz HTTP na portu 80Server_name _;
:Toto bude odpovídat libovolnému názvu hostiteleReturn 301
:Toto sděluje prohlížeči (a vyhledávačům), že se jedná o trvalé přesměrováníhttps://$host$request_uri
:Toto je krátký kód pro specifikaci HTTPS verze čehokoli, co uživatel zadal
Po úpravách se veškerý provoz výchozího serveru HTTP přesměruje na HTTPS.
Přesměrování konkrétního webu
Můžete mít více serverů, ale pouze některé z nich mohou vyžadovat HTTPS. Zadejte název serveru do bloku serveru pro přesměrování vybraného provozu:
server {
listen 80 default_server;
server_name my_app.com;
return 301 https://my_app.com$request_uri;
}
Nahraďte název my_app.com s názvem serveru, který hodláte přesměrovat. Můžete také chtít přidat další weby přidáním dalšího bloku serveru. Jednoduše zkopírujte kód a změňte název serveru.
Přijímat pouze připojení SSL
Přidejte tento kód, abyste si byli jisti, že server bude přijímat pouze připojení SSL na portu 443:
server {
listen 443 ssl default_server;
server_name my_app.com;
}
server {
listen 443 ssl;
server_name my_website.com;
}
Tento blok kódu vytvoří dvě webové stránky, my_app.com a my_website.com , chcete-li přijímat pouze připojení SSL. Další weby můžete přidat pomocí dalších bloků serveru.
Přesměrování stránky Nginx
Přepisovací kód můžete použít k rychlé správě přesměrování 301 (trvalé) nebo 302 (dočasné):
Location /index.html {
rewrite ^/oldURL$ https://www.your_domain.com/newURL redirect;
}
Většinou bude umístění index.html , ale můžete zadat libovolnou cestu/vzor.
Všimněte si, že rewrite
příkaz by měl být používán pouze s přesměrováním 301 nebo 302.
Jak přesměrovat doménu pomocí Nginx
To je užitečné, pokud jste změnili rozšíření z marnosti (např. .biz nebo .net) na standardní adresu .com. Lze jej také použít k přesměrování ze starého názvu domény na nový název domény.
server {
listen 80;
listen 443 ssl;
server_name www.old_company.com;
return 301 $scheme://www.new_company.com$request_uri;
}
Ve většině případů return
příkaz je upřednostňován před příkazem přepis.
Přesměrování z webu www na web bez www
Tento proces je podobný standardnímu přesměrování stránky:
server {
server_name www.new_company.com;
return 301 $scheme://new_company.com$request_uri;
}
Důvody přesměrování provozu
Existuje několik důvodů, proč přesměrovat provoz HTTP na HTTPS. Možná budete muset:
- Vynucení bezpečnějšího, šifrovaného připojení.
- Udržujte stránku s dobrým hodnocením SEO, ale posílejte její provoz na novou stránku.
- Upozorňovat a dočasně odesílat provoz na stránku „probíhá údržba“.
- Trvale přesměrovat provoz z jednoho webu na druhý, tj. po sloučení společnosti.