GNU/Linux >> Znalost Linux >  >> Linux

Vytvořte přesměrování v Nginx

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.


Linux
  1. nginx - 413 entita požadavku je příliš velká

  2. Příkaz Linux ln

  3. Vytvořte symbolický odkaz na adresář v Ubuntu

  1. Vytvořte virtuální hostitele CentOS NGINX

  2. Vytvořte přesměrování v Nginx

  3. getpwnam(www) se nezdařilo v /etc/nginx/nginx.conf

  1. Vytváření přesměrování Apache

  2. Jak vytvořit přesměrování e-mailu nebo alias v Plesku

  3. více webů na nginx a weby - k dispozici