Detaillierte Schritte zum Bereitstellen von https-Websites und Konfigurieren der Adressumschreibung in Nginx

Detaillierte Schritte zum Bereitstellen von https-Websites und Konfigurieren der Adressumschreibung in Nginx

Nginx ist ein leistungsstarker Website-Server und Reverse-Proxy-Server sowie ein IMAP-, POP3-, SMTP- und anderer Mail-Proxy-Server. Nginx kann als Website-Server zum Veröffentlichen von Websites und als Reverse-Proxy zum Erreichen eines Lastenausgleichs verwendet werden. In diesem Artikel wird beschrieben, wie Sie mit Nginx https-Websites bereitstellen und die Adressumschreibung in der Centos6.9-Umgebung konfigurieren.

1.Umgebungsvorbereitung: ein Centos6.9-Host, Firewall und Selinux ausschalten

Installieren Sie Abhängigkeitspakete: yum -y install openssl-devel pcre-devel gcc

Nginx-Benutzer erstellen:

useradd -M -s /sbin/nologin nginx #Kein Home-Verzeichnis für den Nginx-Benutzer erstellen, keine interaktive Shell
tar -xf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module 
 --mit-http_ssl_module
(--with-http_ssl_module gibt die Installation des Sicherheitsmoduls an, das beim Bereitstellen von https-Websites installiert werden muss. Das Verzeichnis /usr/local/nginx muss nicht im Voraus erstellt werden.)
machen && machen installieren
cd /usr/local/nginx
ls /usr/local/nginx 

conf #Speichert nginx-Konfigurationsdateien logs #Speichert Service-Protokolle und PID-Dateien html #Speichert Webseiten-Seiten sbin #Ausführbares Hauptprogrammverzeichnis

2. Verknüpfen Sie das Startprogramm mit dem Pfad /usr/sbin/:

ln -s /usr/local/nginx/sbin/nginx /usr/sbin/

nginx-Befehl:

nginx # Dienst starten nginx -s stop # Dienst beenden nginx -s reload # Konfigurationsdatei neu laden nginx -t # Konfigurationsdatei testen nginx -v # Versionsinformationen anzeigen nginx -V # Kompilierungsoptionen anzeigen

Dienst starten: nginx

Testen Sie die Website über IP, um zu sehen, ob sie normal aufgerufen werden kann. Wenn die folgende Seite angezeigt wird, bedeutet dies, dass die Website-Konfiguration erfolgreich war (derzeit gibt es nur eine Standard-HTTP-Seite):

3. Verwenden Sie OpenSSL, um ein Zertifikat zu generieren und die https-Website zu konfigurieren:

cd /usr/local/nginx/conf

openssl genrsa -out my.key #Generieren Sie einen privaten Schlüssel für den RSA-Algorithmus 

openssl req -new -x509 -key my.key -out my.crt #Generieren Sie ein Untersignaturzertifikat, das einem öffentlichen Schlüssel entspricht 

Ändern Sie die Nginx-Konfigurationsdatei, um den Speicherort des Zertifikats anzugeben:

vim /usr/local/nginx/conf/nginx.conf
... ...
Server {
 hören Sie 443 SSL;
 Servername www.test.com;
 ssl_certificate my.crt; #Geben Sie den Speicherort des Zertifikats an. Standardmäßig wird im aktuellen Verzeichnis danach gesucht. ssl_certificate_key my.key; #Geben Sie den Speicherort des privaten Schlüssels an location / { 
  root /var/www/html; #Geben Sie den Stammpfad der Webseitendateien getrennt vom HTTP-Websitepfad an, um die Unterscheidung zu erleichtern. Index index.html;
  }
}

Nachdem die Änderung abgeschlossen ist, laden Sie die Konfigurationsdatei neu: nginx -s reload

mkdir -p /var/www/html
echo "SSL-Test" >/var/www/html/index.html 

4. Zugangsüberprüfung durchführen:

Der http-Zugriff hat folgende Auswirkung:

Der https-Zugriff hat folgende Auswirkungen:

5. Konfigurieren Sie die Umschreibung der http-Adresse, sodass der Client beim Zugriff auf http automatisch zu https springt:

vim /usr/local/nginx/conf/nginx.conf
... ...
 Server {
  hören Sie 80;
  Servername www.test.com;
  rewrite ^(.*)$ https://${server_name}$1 permanent; #Beim Empfang einer http-Zugriffsanforderung auf https umleiten
  Standort / {
   Stamm-HTML;
   Index Index.html Index.htm;
  }

Nachdem die Änderung abgeschlossen ist, laden Sie die Konfigurationsdatei neu:

nginx -s reload

6. Besuchen Sie uns erneut, um Folgendes zu überprüfen:

Beim Zugriff auf eine Webseite über das http-Protokoll wird automatisch zu https gesprungen:

Wenn der Domänenname nicht aufgelöst wird, fügen Sie bitte einen Hosts-Eintrag hinzu und schreiben Sie die Entsprechung zwischen Domänenname und IP in die Hosts-Datei.

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • So blockieren und verbieten Sie Webcrawler im Nginx-Server
  • Nginx-Reverseproxy und Lastausgleichspraxis
  • Detaillierte Erklärung der Best Practices für Django + uwsgi + Nginx online
  • So steigern Sie Ihre Web-Performance um das Dreifache, indem Sie einen Parameter in Nginx aktivieren
  • So verwenden Sie PHP zum Zählen der User-Agent-Daten von Nginx-Protokollen
  • So fügen Sie Nginx zu den Systemdiensten in CentOS7 hinzu
  • So stellen Sie mit Nginx mehrere Vue-Projekte unter demselben Domänennamen bereit und verwenden einen Reverse-Proxy
  • Python-Implementierungsbeispiel zum Überwachen von Unterschieden in Nginx-Konfigurationsdateien und Senden von E-Mail-Benachrichtigungen
  • Detaillierte Erläuterung des Funktionsprinzips der Ausführungsanforderung von Nginx + PHP
  • Erläuterung der Linux-Kernel-Optimierungskonfiguration für hochparallele Nginx-Server

<<:  Detaillierte Erklärung dieses Zeigeproblems in JavaScript

>>:  So installieren Sie eine MySQL-Datenbank auf einem Debian 9-System

Artikel empfehlen

Vue realisiert die Funktion eines Bucheinkaufswagens

In diesem Artikelbeispiel wird der spezifische Co...

Netzwerkmanagement und Netzwerkisolationsimplementierung von Docker-Containern

1. Docker-Netzwerkverwaltung 1. Docker-Container-...

Detaillierte Schritte zur Verwendung von AES.js in Vue

Verwendung der AES-Verschlüsselung Verschlüsselun...

Implementierung mehrerer Tomcat-Instanzen auf einer einzigen Maschine

1. Einleitung Zunächst müssen wir eine Frage bean...

Zusammenfassung aller HTML-Interviewfragen

1. Die Rolle des Doctypes, der Unterschied zwisch...

border-radius ist eine Methode zum Hinzufügen abgerundeter Ränder zu Elementen

border-radius:10px; /* Alle Ecken sind mit einem ...

Zusammenfassung der Ausführungsprobleme zwischen MySQL Max und Where

Ausführungsproblem zwischen MySQL Max und Where S...

Mysql-Fehler: Lösung für zu viele Verbindungen

Zu viele Verbindungen zur MySQL-Datenbank Dieser ...