GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Erstellen Sie Weiterleitungen in Nginx

Warum eine Weiterleitung verwenden

Sie verwenden eine Umleitung immer dann, wenn ein Websitebesitzer möchte, dass eine Adresse zu einer anderen Adresse umgeleitet wird, wobei normalerweise HTTP zu HTTPS oder eine Domain zu einer anderen Domain umgeleitet wird.

HTTP-zu-HTTPS-Szenario:

Sie möchten, dass Ihre Kunden Ihre sichere (SSL-)Website erreichen, selbst wenn sie http://yourwebsite.com eingeben oder yourwebsite.com in ihren Browser. Diese Art der Weiterleitung erreicht genau das. Zum Beispiel, wenn Ihr Kunde http://yourwebsite.com eingibt , leitet die Weiterleitung in Nginx® die Anfrage an https://yourwebsite.com weiter .

Eine Domäne in ein anderes Szenario:

ihrewebsite.com gehört Ihnen , ihrewebsite.org und ihrewebsite.net , und Sie möchten, dass Ihre Kunden auf ihrewebsite.com gelangen unabhängig von der URL, die sie in ihren Browser eingeben, um Ihre Website zu besuchen.

Wie man in Nginx umleitet

In den folgenden Abschnitten wird beschrieben, wie Sie von HTTP zu HTTPS und von einer Domain zu einer anderen Domain umleiten.

HTTP zu HTTPS

Wenn Sie ein SSL-Zertifikat auf Ihrem Server installieren, haben Sie zwei Serverblöcke für Ihre Website:je einen für HTTP und HTTPS. Das Problem ist, dass Sie eine Möglichkeit benötigen, den Datenverkehr zu Ihrer SSL-gesicherten Website (der HTTPS-Version) zu erzwingen. Sie können dies erreichen, indem Sie eine Umleitung zum Nginx-Serverblock für Ihre Website hinzufügen.

Öffnen Sie die Konfigurationsdatei für Ihre Domain. Die Datei sollte ähnlich benannt werden wie /etc/nginx/vhost.d/yourwebsite.com.conf . Die .conf gibt die Konfigurationsdatei für Ihre Domäne an. Öffnen Sie die Datei mit Ihrem bevorzugten Texteditor. Im folgenden Beispiel wird vim verwendet Herausgeber:

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;
}

Abhängig von Ihrer speziellen Konfiguration enthält dies möglicherweise mehr Informationen als das vorherige Beispiel, aber dies ist ein einfaches Beispiel, das sich auf die Umleitungsoption konzentriert.

Sie möchten jedoch, dass Ihre Kunden die gesicherte Version von ihrewebsite.com aufrufen , daher müssen Sie dem Serverblock in der Konfigurationsdatei eine Umleitung hinzufügen. Ändern Sie dazu den Block so, dass er dem folgenden Beispiel ähnelt, und speichern Sie die Datei:

server {
	listen 80;
	server_name yourwebsite.com www.yourwebsite.com;
	return 301 https://yourwebsite.com$request_uri;
}

Mit der vorangehenden Weiterleitungszeile können Ihre Kunden jedes Mal, wenn sie ihrewebsite.com eingeben oder www.ihrewebsite.com , leitet das System sie automatisch zu https://ihrewebsite.com weiter Version Ihrer Website.Beachten Sie jedoch, dass Sie diese Zeile zum HTTP 80 hinzufügen müssen Serverblock, nicht HTTPS 443 Serverblock.

Sie sollten wahrscheinlich auch alle https://www.yourwebsite.com weiterleiten Anfragen an https://yourwebsite.com . Sie können dies tun, indem Sie dem 443 eine weitere Redirect-Zeile hinzufügen Server-Block, oft unterhalb von 80 serverblock in der Konfigurationsdatei. Diese Änderung ähnelt dem folgenden Beispiel:

server {
	listen 443;
	server_name www.yourwebsite.com;
	return 301 https://yourwebsite.com$request_uri;
}

server {
	listen 443;
	server_name yourwebsite.com;
}

Hinweis: Ihre Serverblöcke enthalten wahrscheinlich mehr Informationen als die vorherigen vereinfachten Beispiele.

Eine Domain zur anderen

Wenn Sie eine Domain mit mehreren Top-Level-Domains haben (z. B. .com ,.net , .org , usw.) und möchten, dass alle diese Websites dieselbe Website erreichen, verwenden Sie eine Weiterleitung. Für dieses Beispiel gehen wir davon aus, dass Sie yourwebsite.com besitzen , ihrewebsite.org und ihrewebsite.net , und Sie möchten alle auf ihrewebsite.com umleiten .

Bearbeiten Sie die Konfigurationsdatei für Ihre Domain erneut. Anstatt ein HTTPS hinzuzufügen Redirect, ändern Sie den Serverblock wie im folgenden Beispiel gezeigt:

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;
}

Jetzt, wann immer Ihre Kunden yourwebsite.net eingeben oder ihrewebsite.org , leitet das System sie zu ihrewebsite.com weiter stattdessen.

Speichern und schließen Sie Ihre Konfigurationsdateien nach Ihren Änderungen und starten Sie beide nginx neu undphp-fpm um diese Änderungen live zu schalten.


Linux
  1. Linux-ln-Befehl

  2. Erstellen Sie virtuelle CentOS NGINX-Hosts

  3. Erstellen Sie Weiterleitungen in Nginx

  4. Erstellen von Apache-Umleitungen

  5. nginx:[emerg] unbekannte Direktive in /etc/nginx/sites-enabled/example.com:3

So richten Sie Nginx-Serverblöcke unter CentOS 7 ein

So richten Sie Nginx-Serverblöcke unter CentOS 8 ein

So richten Sie Nginx-Serverblöcke unter Debian 9 ein

So richten Sie Nginx-Serverblöcke unter Debian 10 ein

So erstellen Sie einen Streaming-Server in FreeBSD

Installieren Sie Nginx auf Ubuntu 18.04