Nginx

So leiten Sie URLs in Nginx um

So leiten Sie URLs in Nginx um
Nginx ist ein leichtgewichtiger Webserver, der oft auch als Reverse-Proxy, Webserver und Load Balancer verwendet wird. Nginx bietet standardmäßig viele nützliche Funktionen und weitere können bei der Installation als Module hinzugefügt werden. Diese Anleitung soll zeigen, wie man mit Nginx URLs in verschiedene Richtungen umleitet redirect. Obwohl Nginx eine Vielzahl von Funktionen zum Umleiten von URLs bietet, verwendet dieser Leitfaden einen Bruchteil davon, da er nur die wesentlichen Funktionen der URL-Umleitung vermitteln soll. Die in diesem Handbuch behandelten Bereiche sind die Umleitung unsicherer URLs (Port 80) auf ihre gesicherte Version, die Umleitung einer Anfrage an die IP zu einem Domänennamen und schließlich die Umleitung aller anderen Unterdomänen und Domänen zur Hauptdomäne.

Voraussetzungen

In diesem Handbuch wird zunächst davon ausgegangen, dass der Benutzer einen richtigen SSH-Client auf dem Computer installiert hat. Wenn nicht, installieren Sie Putty als Client und verwenden Sie dann die folgenden Befehle:. Darüber hinaus ist mit Nginx auch ein Nano-Editor erforderlich.

  1. Geben Sie die folgenden Befehle ein, um den Nano-Texteditor zu installieren. Der erste Befehl hilft beim Abrufen der neuesten Pakete aus den Repositorys und der zweite Befehl installiert die neueste Version des Nano-Texteditors.
sudo apt-get update
sudo apt-get install nano
  1. Geben Sie im Terminalfenster den folgenden Befehl ein, um das aktuelle Verzeichnis in das nginx-Verzeichnis zu ändern.
cd /etc/nginx/sites-verfügbar
  1. Geben Sie jetzt ein Nano-Standard oder den mit der Domain verknüpften Dateinamen, um die Einstellungen der Domain zu ändern.
  2. Da nun einem der folgenden Abschnitte folgen, um fortzufahren.

Weiterleitung von HTTP (Port 80)

Google, Bing und viele andere Suchmaschinen bevorzugen heutzutage Websites mit einer verschlüsselten Verbindung. Wenn die Verbindung zwischen Client und Server verschlüsselt ist, ist die Datenübertragung über diese bestimmte Verbindung sicher und somit können Dritte nicht auf diese Daten zugreifen. Wenn die Verbindung nicht verschlüsselt ist, sind solche Seiten unsicher und gefährden somit die Sicherheit der Daten. Eine unsichere Website verwendet Port 80, um ihre Dienste der Öffentlichkeit zur Verfügung zu stellen. Leider verbindet sich der Webbrowser standardmäßig mit dem Port 80, da der Webserver davon ausgeht, dass es standardmäßig das ist, was der Client will, und daher muss die Anfrage auf seine gesicherte Version umgeleitet werden. Es gibt mehrere Möglichkeiten, es mit Nginx zu erledigen.

Methode 1

Ist der aktuelle Domainname verfügbar und erhält er Anfragen von Clients, können diese mit dem folgenden Code-Snippet auf eine andere Domain umgeleitet werden. Einfach in die Standarddatei oder die Datei der Domain kopieren.

Der Parameter "Standardserver" gibt an, dass dieser Serverblock der Standardserver ist, daher führen alle Anfragen an den Port 80 standardmäßig diesen Serverblock aus, und dann folgt der Rest. Die Klammer bedeutet, dass auch Anfragen von IPv6-Netzwerken erfasst werden. Return 310 bedeutet, dass die Umleitung permanent ist und somit Link Juice mitgereicht wird.

Server
lauschen 80 default_server;
lauschen [::]:80 default_server;
server_name Domäne.com www.Domain.com;
301 https://domain zurückgeben.com$request_uri;

Methode 2

Wenn mit dem aktuellen Server keine Website verbunden ist und die Anforderung darin besteht, alle Anfragen an den Port 80 umzuleiten, kann der folgende Serverblock verwendet werden. Kopieren Sie es in die Standarddatei, wie zuvor angegeben. Hier steht _ (Unterstrich) für eine beliebige Domain. Wie zuvor können auch hier der Parameter default_server, Klammern (für IPv6-Adressen) wie optionale Attribute verwendet werden.

Server
lauschen 80 default_server;
Servername _;
301 https://$host$request_uri zurückgeben;

Methode 3

Der folgende Codeausschnitt bedeutet, dass wenn die Verbindung nicht verschlüsselt ist, d. h. Port 80 Anfragen empfängt, diese an eine sichere Version der angegebenen Domäne umgeleitet werden. Dies sollte an eine beliebige Stelle im Serverblock kopiert werden, jedoch nach dem Parameter server_name.

if ($schema != "https")
301 https://$host$request_uri zurückgeben;

Weiterleitung von der IP-Adresse

Im Gegensatz zu einem Shared Host wird sowohl dedizierten Servern als auch virtuellen privaten Servern immer eine dedizierte IP-Adresse zugewiesen. Wenn der Webserver mit Nginx mit Unterstrich konfiguriert ist (was bedeutet, dass der Server jede Anfrage verarbeitet), erhält jede Anfrage an die IP-Adresse auch Zugriff auf die Website website. Der Zugriff auf die Website über eine IP-Adresse ist aus verschiedenen Gründen nicht jeder Webmaster. Auf der anderen Seite können böswillige Benutzer, wenn jede Anfrage verarbeitet wird, eine beliebige Domain mit dem Webserver verknüpfen, was für den Namen der Marke oder des Unternehmens nicht gut ist, und daher ist es wichtig, nur Anfragen an bestimmte Domains zu verarbeiten oder und IP Adresse. In diesem Abschnitt wird gezeigt, wie in solchen Fällen Anfragen an die IP-Adresse des Webservers bearbeitet werden. Die Verwendung dieses Codeblocks zusammen mit einem der obigen Codeblöcke (außer Methode 2 der vorherigen Lösung) stellt sicher, dass jede Anfrage an beide Domänen und IPs an das gewünschte Ziel umgeleitet wird.

Kopieren Sie wie oben erwähnt den folgenden Codeausschnitt in die Standarddatei von Nginx (Voraussetzungen, 3. Schritt). Anstatt den Namen der Domain im Parameter server_name zu verwenden, verwenden Sie einfach die IP-Adresse des Servers und verwenden Sie dann in der nächsten Zeile „return 301 domain“, wohin die Anfrage umgeleitet wird. Wenn nun eine Anfrage an diese bestimmte IP-Adresse beim Server eingeht, wird diese an die angegebene Domain umgeleitet. Ein bestes Beispiel dafür ist, wenn ein zufälliger Benutzer die IP des Webservers eingibt, um direkt auf die Site zuzugreifen. Wenn das folgende Code-Snippet nirgendwo in der Standarddatei angegeben ist, werden keine Anfragen an die IP-Adresse verarbeitet. daher können Benutzer nicht über die IP-Adresse auf die Website zugreifen.

Server
hören 80;
zuhören [::]:80;
Hören Sie 443 SSL http2;
anhören [::]:443 ssl http2;
Servername 192.168.1.1;
301 zurückgeben https://nucuta.com;

Weiterleitung von einer anderen Domain

Diese Lösung ist die gleiche wie die erste Lösung dieses Handbuchs, außer dass sie auch Anfragen an den 443-Port des Webservers umleitet, was bedeutet, dass sowohl gesicherte als auch ungesicherte Anfragen an die angegebene Domäne im Rückgabeparameter umgeleitet werden. Wie bereits erwähnt, kopieren Sie dies einfach in die Standarddatei.

Server
hören 80;
zuhören [::]:80;
Hören Sie 443 SSL http2;
anhören [::]:443 ssl http2;
server_name Domäne.com www.Domain.com;
301 zurückgeben https://nucuta.com;

Abschluss

Nachdem Sie eine der oben genannten Lösungen befolgt haben, muss die nginx-Datei kompiliert werden, damit ihre Konfiguration wirksam wird. Die Standarddatei muss jedoch vor dem Kompilieren getestet werden, da sie bei einem Fehler in der Konfiguration den Absturz des Webservers verhindert.

  1. Verwenden Sie einfach den folgenden Befehl im Linux-Terminal, um die Standardkonfigurationsdatei zu testen. Wenn das Ergebnis gut ist, fahren Sie mit dem nächsten Schritt fort.
sudo nginx -t
  1. Verwenden Sie einen der folgenden Befehle, um den Nginx-Webserver neu zu starten. Der Befehl hängt vom Namen und der Version der Linux-Distribution ab.
sudo systemctl Neustart nginx
sudo service nginx neu laden
sudo /etc/init.d/nginx neu laden
So installieren Sie League of Legends auf Ubuntu 14.04
Wenn Sie ein Fan von League of Legends sind, dann ist dies eine Gelegenheit für Sie, League of Legends zu testen. Beachten Sie, dass LOL von PlayOnLin...
Installieren Sie das neueste OpenRA-Strategiespiel auf Ubuntu Linux
OpenRA ist eine Libre/Free Real Time Strategy Game Engine, die die frühen Westwood-Spiele wie den Klassiker Command & Conquer: Red Alert Red nachbilde...
Installieren Sie den neuesten Dolphin Emulator für Gamecube & Wii unter Linux
Mit dem Dolphin Emulator können Sie Ihre ausgewählten Gamecube- und Wii-Spiele auf Linux-Personalcomputern (PC) spielen. Als frei verfügbarer Open-So...