Proč používat přesměrování
Přesměrování použijete vždy, když vlastník webu chce adresu přesměrovat na jinou adresu, obvykle přesměrování HTTP na HTTPS nebo přesměrování jedné domény na jinou doménu.
Scénář HTTP na HTTPS:
Chcete, aby se vaši zákazníci dostali na váš zabezpečený web (SSL), i když zadají http://yourwebsite.com
nebo yourwebsite.com
do jejich prohlížeče. Tento typ přesměrování právě toho dosahuje. Pokud například váš zákazník zadá adresu http://yourwebsite.com
, přesměrování v Nginx® přesměruje požadavek na https://yourwebsite.com .
Scénář z jedné domény do druhého:
Vlastníte vaše webové stránky.com , vasewebovestranky.org a vasewebovestranky.net a chcete, aby se vaši zákazníci dostali na vaše webové stránky.cz bez ohledu na adresu URL, kterou zadají do svého prohlížeče, aby navštívili váš web.
Jak přesměrovat v Nginx
Následující části popisují, jak přesměrovat z HTTP na HTTPS az jedné domény do jiné domény.
HTTP na HTTPS
Když na svůj server nainstalujete certifikát SSL, máte pro svůj web dva bloky serveru:každý pro HTTP a jeden HTTPS. Problém je v tom, že potřebujete způsob, jak vynutit provoz na váš web zabezpečený SSL (verze HTTPS). Můžete toho dosáhnout přidáním přesměrování na blok serveru Nginx pro váš web.
Otevřete konfigurační soubor pro vaši doménu. Soubor by se měl jmenovat podobně jako/etc/nginx/vhost.d/yourwebsite.com.conf . Soubor .conf označuje konfigurační soubor pro vaši doménu. Otevřete soubor pomocí svého oblíbeného textového editoru. Následující příklad používá vim
redaktor:
vim /etc/nginx/vhost.d/yourdomain.com.conf
Your server block will look similar to this:
server {
listen 80;
server_name yourwebsite.com www.yourwebsite.com;
}
V závislosti na vaší konkrétní konfiguraci to může obsahovat více informací než předchozí příklad, ale toto je jednoduchý příklad zaměřený na možnost přesměrování.
Chcete však, aby vaši zákazníci přešli na zabezpečenou verzi vašeho webu , takže musíte do konfiguračního souboru přidat přesměrování na blokování serveru. Chcete-li to provést, upravte blok tak, aby vypadal podobně jako v následujícím příkladu, a uložte soubor:
server {
listen 80;
server_name yourwebsite.com www.yourwebsite.com;
return 301 https://yourwebsite.com$request_uri;
}
S předchozím přesměrovacím řádkem kdykoli vaši zákazníci zadají vaše webové stránky.cz nebo www.yourwebsite.com , systém je automaticky přesměruje na https://yourwebsite.com verze vašeho webu. Upozorňujeme však, že tento řádek musíte přidat do HTTP 80
blok serveru, nikoli HTTPS 443
blok serveru.
Pravděpodobně byste také měli přesměrovat všechny https://www.yourwebsite.com požadavky na https://yourwebsite.com . Můžete to udělat přidáním dalšího řádku přesměrování do 443
blok serveru, často umístěný pod 80
serverblock v konfiguračním souboru. Tato změna vypadá podobně jako v následujícím příkladu:
server {
listen 443;
server_name www.yourwebsite.com;
return 301 https://yourwebsite.com$request_uri;
}
server {
listen 443;
server_name yourwebsite.com;
}
Poznámka: Bloky vašeho serveru pravděpodobně obsahují více informací než předchozí zjednodušené příklady.
Jedna doména na druhou
Pokud máte doménu s více doménami nejvyšší úrovně (například .com ,.net , .org a tak dále) a chcete, aby se všechny tyto stránky dostaly na stejný web, použijte přesměrování. V tomto příkladu předpokládáme, že vlastnítevaše webové stránky.cz , vasewebovestranky.org a vasewebovestranky.net a všechny je chcete přesměrovat na vaše webové stránky.cz .
Znovu upravte konfigurační soubor pro vaši doménu. Místo přidání HTTPS přesměrování, upravte blok serveru, jak je uvedeno v následujícím příkladu:
server {
listen 80;
server_name yourwebsite.net;
return 301 $scheme://yourwebsite.com$request_uri;
}
server {
listen 80;
server_name yourwebsite.org;
return 301 $scheme://yourwebsite.com$request_uri;
}
Nyní, kdykoli vaši zákazníci zadají vaše webové stránky.net nebo vasewebovestranky.org , systém je přesměruje na vaše webové stránky.cz místo toho.
Po úpravách uložte a zavřete konfigurační soubory a restartujte oba nginx
aphp-fpm
aby se tyto změny projevily.