Nginx konfiguriert denselben Domänennamen, um sowohl den http- als auch den https-Zugriff zu unterstützen

Nginx konfiguriert denselben Domänennamen, um sowohl den http- als auch den https-Zugriff zu unterstützen

Nginx ist mit demselben Domänennamen konfiguriert, auf den sowohl über http als auch über https zugegriffen werden kann. Das Zertifikat wird kostenlos bei Alibaba Cloud beantragt.

Server
{
hören Sie 80;
hören Sie 443 SSL;
SSL aktiviert;
Servername Domänenname;
index index.html index.htm index.php standardmäßig.html standardmäßig.htm standardmäßig.php;
ssl_certificate /usr/local/nginx/cert/21402058063066221.pem; //Laden Sie nach der Anwendung das von Alibaba ssh bereitgestellte PEM herunter
ssl_certificate_key /usr/local/nginx/cert/21402058063066221.key; //Laden Sie den von Alibaba ssh bereitgestellten Schlüssel nach der Anwendung herunter
SSL-Sitzungszeitüberschreitung 5 Min.
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HOCH:!NULL:!aNULL:!MD5:!ADH:!RC4;
SSL-Protokolle TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers ein;

 
Stammverzeichnis /home/wwwroot/website;

include laravel.conf; //Okay, hier ist die Laravel-Konfiguration, die möglicherweise nicht für Sie geeignet ist, bitte ignorieren Sie sie #error_page 404 /404.html;
enable-php.conf einschließen;

Standort ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
läuft in 30 Tagen ab;
}

Standort ~ .*\.(js|css)?$
{
läuft nach 12 Stunden ab;
}

Zugriffsprotokoll /home/wwwlogs/airclass.mime.org.cn.log;
}

Der Schlüssel liegt im oben stehenden Listen 80;

443 SSL abhören; Port 80 öffnen

Natürlich hat es keinen Sinn, so zu spielen. Da es https ist, besteht keine Notwendigkeit, Daten über http zu übertragen. Wir müssen alle http-Anfragen an https weiterleiten.

Der Befehl „nginx redirect“ wird verwendet, um http auf https umzuleiten. Wie sollte also die Umleitung geschrieben werden? Ältere Versionen von Nginx haben möglicherweise ein Format ähnlich dem folgenden verwendet.
Das heißt, einen weiteren virtuellen Maschinenserver hinzuzufügen, Port 80

Server {
hören Sie 80;
Servername www.domain.com;
rewrite ^/(.*) https://$server_name$1 permanent; #Zu Https springen
}

Die Neufassung hat noch immer verschiedene Versionen, wie folgt

umschreiben ^/(.*)$ https://domain.com/$1 permanent;

oder

neu schreiben ^ https://domain.com$request_uri? permanent;

Jetzt hat die neue Version von Nginx die Schreibmethode geändert und die oben genannten werden nicht mehr empfohlen. Es gibt im Internet wahrscheinlich noch viele Artikel, die sich mit dem ersten Typ befassen.

Folgendes ist die neueste unterstützte Methode zum Umleiten von Nginx-HTTP-Seiten auf HTTPS-Seiten:

Server {
hören Sie 80;
Servername Domäne.com;
Rückgabewert 301 https://$server_name$request_uri;
}

Server {
hören Sie 443 SSL;
Servername Domäne.com;

}

Aber mein nginx/1.10.0 scheint nicht zu funktionieren, vielleicht unterstützt es diese Schreibweise nicht ...

Nachfolgend sehen Sie eine vollständige Konfiguration basierend auf http zu https:

Server
{
#hören 80;
hören Sie 443;
SSL aktiviert;
Servername domain.com; //Ihr Domänennameindex index.html index.htm index.php default.html default.htm default.php;
SSL-Zertifikat /usr/local/nginx/cert/user.medsci-tech.com/214020580630662.pem;
SSL-Zertifikatsschlüssel /usr/local/nginx/cert/user.medsci-tech.com/214020580630662.key;
SSL-Sitzungszeitüberschreitung 5 Min.
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HOCH:!NULL:!aNULL:!MD5:!ADH:!RC4;
SSL-Protokolle TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers ein;

root /home/wwwroot/web/public; //Stammverzeichnis des Projekts include laravel.conf;
#Fehlerseite 404 /404.html;
enable-php.conf einschließen;

Standort ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
läuft in 30 Tagen ab;
}

Standort ~ .*\.(js|css)?$
{
läuft nach 12 Stunden ab;
}

}
Server {
hören Sie 80;
Servername Domäne.com;
umschreiben ^/(.*) https://$server_name$request_uri? permanent;
}

Dies ist das Ende dieses Artikels über die Konfiguration von Nginx zur Unterstützung von HTTP- und HTTPS-Zugriff auf denselben Domänennamen. Weitere verwandte Inhalte zu Nginx, das sowohl HTTP- als auch HTTPS-Zugriff auf denselben Domänennamen unterstützt, finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Beispiel für die Konfiguration von nginx zur Implementierung von SSL
  • Nginx implementiert ein Codebeispiel für die https-Websitekonfiguration
  • Detailliertes Tutorial zur Konfiguration von Nginx für https-verschlüsselten Zugriff
  • Implementierung der Nginx-Domänennamenweiterleitung für den HTTPS-Zugriff
  • Alibaba Cloud Nginx konfiguriert https, um ein Domänennamen-Zugriffsprojekt zu implementieren (grafisches Tutorial)
  • Detaillierte Erläuterung des Prinzips und des Implementierungsprozesses der Nginx-Konfiguration https
  • Detaillierte Konfiguration von Nginx, das sowohl Http als auch Https unterstützt
  • Implementierung von HTTP- und HTTPS-Diensten mit Nginx-Reverse-Proxy für mehrere Domänennamen
  • Beispielcode für die Verwendung von Nginx zur Implementierung einer 301-Weiterleitung zum https-Stammdomänennamen
  • So ändern Sie in Nginx die über http aufgerufene Website in https

<<:  Detaillierte Erläuterung der MySQL 8.0-Wörterbuchtabellenerweiterung

>>:  Schnellstart der Vue3-Dokumentation

Artikel empfehlen

Einfaches Schreiben von gespeicherten MySQL-Prozeduren und -Funktionen

Was ist eine gespeicherte Prozedur? Einfach ausge...

JavaScript zum Erzielen eines Digitaluhreffekts

In diesem Artikelbeispiel wird der spezifische Ja...

Neues CSS3-Layout: ausführliche Flex-Erklärung

Flex-Grundkonzepte Flex-Layout (Flex ist die Abkü...

So installieren Sie Docker und konfigurieren Alibaba Cloud Image Accelerator

Docker-Installation Über die Installation auf ein...

Gestaltung der Bildvorschau auf der Inhaltswebseite

<br />Ich habe bereits zwei Artikel geschrie...

Beispielanalyse zur Metadatenextraktion von MySQL und Oracle

Inhaltsverzeichnis Vorwort Was sind Metadaten? Ad...

Detaillierte Erläuterung der Methode zum Vergleichen von Daten in MySQL

Wenn es eine Tabelle mit einem Feld „add_time“ gi...

Implementierung des CSS-Animationseffekts für dynamische Höhenübergänge

Diese Frage stammt aus einer Nachricht auf Nugget...

So implementieren Sie den Nginx-Reverse-Proxy für mehrere Server

Nginx verwendet mehrere Reverse-Proxy-Server, was...