Nginx leiten http auf https um

Nginx leiten http auf https um
Nginx, ausgesprochen als „Engine X“, ist ein kostenloses, open-Source-linux-basierter Hochleistungs-Web und ein Reverse-Proxy-Server, der für die Verwaltung und Bearbeitung der Last des größten Websites-Datenverkehrs im Internet verantwortlich ist. Nginx ist ein leistungsstarkes Umleitungswerkzeug, das auf Ihrem System problemlos konfiguriert werden kann. Wenn Sie ein Systemadministrator oder ein Entwickler sind, verwenden Sie den Nginx -Server regelmäßig.

In diesem Artikel werden wir daran arbeiten, den Webverkehr von HTTP zu einem sicheren HTTPS in Nginx umzuleiten.

Die Antworten und Anforderungen werden in Form von Klartext in HTTP zurückgegeben, während die HTTPS SSL/TLS verwendet, um die Kommunikation zwischen dem Client und dem Serversystem zu verschlüsseln. Aus vielen Gründen wird HTTPS über die nachstehend aufgeführte HTTP verwendet:

  • Alle Daten zwischen dem Client-Server in beide Richtungen sind verschlüsselt. Jeder kann jedoch nicht auf sensible Informationen zugreifen, wenn sie abgefangen werden.
  • Wenn Sie HTTPS verwenden, betrachten Google Chrome und andere Browser Ihre Website -Domain als sicher.
  • Die HTTPS -Version verbessert Ihre angegebene Website -Leistung mithilfe des HTTP/2 -Protokolls.
  • Wenn Sie Ihre Website -Domain über HTTPS bedienen, rangiert die Website bei Google besser, da sie alle HTTPS -gesicherten Websites bevorzugt.

Es wird bevorzugt, den Datenverkehr HTTP in Nginx in einem separaten Serverblock für jede Site -Version auf HTTPS umzuleiten. Es wird auch empfohlen, den Umleitungsverkehr mit der „if“ -Richt zu vermeiden, die ein ungewöhnliches Verhalten des Servers verursachen kann.

Umleiten Sie den gesamten Verkehr von HTTP auf HTTPS um

Fügen Sie die folgenden Änderungen in die NGINX -Konfigurationsdatei hinzu, um den gesamten Datenverkehr von HTTP zur HTTPS -Version umzuleiten:

Server
Hören Sie 80 default_server;
Servername _;
Rückgabe 301 https: // $ host $ request_uri;

Im Folgenden haben wir jeden oben genannten Begriff ausgearbeitet:

Hören Sie 80 default_server - Dies signalisiert Ihrem System, das den gesamten HTTP -Datenverkehr auf Port 80 fängt.
Server_name _ - Es ist die Domain, die mit jedem Hostnamen übereinstimmt.

Rückgabe 301 https: // $ host $ request_uri - Dies teilt Ihren Suchmaschinen mit, die es dauerhaft umleiten. Es gibt an, dass der Variable $ Host die Domain -Namen enthält.

Sobald Sie die Konfigurationseinstellungen ändern, müssen Sie die NGINX -Dienste in Ihrem System neu laden. Laden Sie also Ihre NGINX -Dienste neu, indem Sie den folgenden Befehl verwenden:

$ sudo systemctl reload nginx

HTTP in HTTPS -Version für die angegebene Domäne in Nginx umleiten

Nach der Installation des SSL -Zertifikats in Ihrer Domäne haben Sie zwei Optionen für Serverblöcke für diese Domäne. Ein Block ist für die HTTP -Version an Port 80 und die zweite Version HTTPS auf Port 443 ist. Um jedoch eine einzelne Website -Domäne von HTTP in HTTPS umzuleiten, müssen Sie die NGINX -Konfiguration öffnen. Sie können diese Konfigurationsdatei im Verzeichnis/etc/nginx/seites-verfügbaren finden. Wenn Sie diese Datei nicht gefunden haben, können Sie auf jeden Fall mit/etc/nginx/nginx suchen.conf,/usr/local/nginx/conf oder/usr/local/etc/nginx und dann die folgenden Änderungen in dieser Datei durchführen:

Server
Hören Sie 80;
Server_Name-Domänenname.com www.Domänenname.com;
Return 301 https: // domänenname.com $ request_uri;

Verstehen wir die obige Codezeile nach Zeile.
Hören 80 - Mit Port 80 hört der Server auf alle eingehenden Verbindungen angegebene Domäne an.

Server_Name-Domänenname.com www.Domänenname.com - es gibt die Domain -Namen an. Ersetzen Sie es also durch Ihren Website -Domain -Namen, den Sie umleiten möchten.

Return 301 https: // domänenname.com $ request_uri - es verschiebt den Verkehr in die HTTPS -Version der Site. Die Variable $ request_uri wird für die vollständige ursprüngliche Anforderung URI verwendet, in der auch Argumente enthalten sind.

Mit der folgenden Methode können Sie den Verkehr in die HTTPS-WWW-Version zur Nicht-WWW-Version der Site umleiten. Es wird empfohlen, eine Weiterleitung in einem separaten Serverblock für Nicht-WWW- und WWW-Versionen zu erstellen.

Lassen Sie uns mit einem Beispiel erklären. Wenn Sie die WWW-HTTPS-Anforderungen an die Nicht-WWW-Version umleiten möchten, folgen Sie der folgenden Konfiguration:

Server
Hören Sie 80;
Server_Name-Domänenname.com www.Domänenname.com;
Return 301 https: // domänenname.com $ request_uri;

Server
Hören Sie 443 SSL HTTP2;
server_name www.Domänenname.com;
#… Anderer Code
Return 301 https: // domänenname.com $ request_uri;

Server
Hören Sie 443 SSL HTTP2;
Server_Name-Domänenname.com;
#… Anderer Code

Ersetzen Sie den Domainnamen durch Ihre Domain wie www.LinuxHint.com.

Abschluss

Wir haben besprochen, wie man den Datenverkehr von der HTTP -Version in die HTTPS auf dem NGINX -Server umleitet. Durch Ändern der Einstellung der NGINX -Konfigurationsdatei können Sie den Datenverkehr problemlos entweder für eine bestimmte Domäne auf HTTPS umleiten oder alle umleiten. Diese Methode, die wir in diesem Artikel erwähnt haben, kann Ihnen helfen, Ihre Website sicherer zu machen, indem Sie Änderungen in der Benutzererfahrung vornehmen.