Lösung für den Konfigurationsfehler des Nginx-SSL-Zertifikats

Lösung für den Konfigurationsfehler des Nginx-SSL-Zertifikats

1. Einleitung

Wenn ein Webprojekt auf unserem Linux-Server veröffentlicht wird, müssen wir manchmal ein SSL-Zertifikat konfigurieren, was bedeutet, dass Ihre Website offizieller ist, hahahaha. Nachdem ich das Zertifikat heruntergeladen und nginx.conf konfiguriert hatte, war alles bereit, bis auf den Neustart. Als ich den Neustart durchführte, ist etwas schiefgelaufen.

nginx: [emerg] unbekannte Direktive ssl, dies ist die Fehlermeldung

Denn wir müssen beim Konfigurieren dieses SSL-Zertifikats auf das SSL-Modul in Nginx verweisen, haben das SSL-Modul jedoch beim ersten Kompilieren von Nginx nicht mitkompiliert, was zu diesem Fehler führte.

2. Schritte zur Fehlerbehebung

Da SSL während der Installation nicht kompiliert wurde, sollte ich nginx deinstallieren und neu installieren? Nein, nein, nein, wir müssen nur das SSL-Modul auf der ursprünglichen Basis hinzufügen.

Schritt 1: Gehen wir zum dekomprimierten Verzeichnis, in das wir das nginx-Paket heruntergeladen haben. Wenn Sie es gemäß dem von mir geschriebenen Tutorial installiert haben, sollte das dekomprimierte Verzeichnis „/usr/loacl/src/“ sein. Die meisten davon sollten sich in diesem Verzeichnis befinden, was bereits ein Standard ist.

Schritt 2: Nachdem Sie das dekomprimierte Verzeichnis aufgerufen haben, führen Sie die folgenden Befehle der Reihe nach aus:

Befehl 1, ./configure --with-http_ssl_module //Fügen Sie das SSL-Modul erneut hinzu

Beachten Sie, dass, wenn kein Fehler auftritt, schauen Sie sich einfach Befehl 2 an

Dieser Fehler tritt bei der Ausführung des obigen Befehls auf (./configure: error: SSL module requires OpenSSL library.) Der Grund ist, dass OpenSSL fehlt. Dann können wir ein anderes installieren und ausführen: yum -y install openssl openssl-devel

Nachdem OpenSSL installiert ist, führen Sie ./configure und dann „Befehl 1“ aus.

Befehl 2: Führen Sie den Befehl „make“ aus, aber führen Sie nicht „make install“ aus, da „make“ zum Kompilieren und „make install“ zum Installieren verwendet wird. Andernfalls wird Ihr gesamter Nginx überschrieben.

Befehl 3. Nachdem wir den Befehl ausgeführt haben, können wir sehen, dass sich im Ordner objs im Nginx-Dekomprimierungsverzeichnis eine zusätzliche Nginx-Datei befindet. Dies ist die neue Version des Programms. Zuerst sichern wir das vorherige Nginx und kopieren dann das neue Programm, um das vorherige zu überschreiben.

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

cp objs/nginx /usr/local/nginx/sbin/nginx

Befehl 4. Abschließend gehen wir in das Nginx-Installationsverzeichnis, um zu überprüfen, ob das SSL-Modul erfolgreich installiert wurde. Führen Sie ./sbin/nginx -V aus, um die folgende Abbildung anzuzeigen:

3. Wenn schließlich das obige Bild angezeigt wird, wurde das SSL-Modul zu Nginx hinzugefügt und kompiliert, und der Neustart ist diesmal in Ordnung.

Wenn Sie nginx neu starten, wird der folgende Fehler gemeldet:

nginx-Fehler: [warn] Die Direktive „ssl“ ist veraltet. Verwenden Sie stattdessen die Direktive „listen ... ssl“.

Ändern Sie SSL, um 443 SSL zu hören.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Einführung in die Installations- und Bereitstellungsschritte für SSL-Zertifikate unter Nginx
  • Beispiel für die Konfiguration von nginx zur Implementierung von SSL
  • Konfiguration des SSL-Zertifikats für den Nginx-Domänennamen (Website-HTTP auf https aktualisiert)
  • Einführung in die SSL- und WSS-Schritte für die Nginx-Konfiguration

<<:  Detaillierte Erklärung zur Abfrage von Feldern, die „%“ enthalten, in MySQL (ESCAPE-Verwendung)

>>:  Tutorial zu HTML-Tabellen-Tags (3): Breiten- und Höhenattribute WIDTH, HEIGHT

Artikel empfehlen

Grafische Installationsschritte für VMware vSphere 6.7 (ESXI 6.7)

Umgebung: VMware VCSA 6.7 (VMware-VCSA-all-6.7.0-...

Warum wird in MySQL keine UTF-8-Kodierung verwendet?

MySQL UTF-8-Kodierung MySQL unterstützt UTF-8 sei...

Mit JS ein kleines Flugzeugkriegsspiel implementieren

In diesem Artikelbeispiel wird der spezifische JS...

Objektorientierte JavaScript-Implementierung eines Lupengehäuses

In diesem Artikel wird der spezifische Code der o...

HTML-Formular_PowerNode Java Academy

1. Formular 1. Die Rolle des Formulars HTML-Formu...

Win10 Installation Linux System Tutorial Diagramm

Um eine virtuelle Maschine auf einem Windows-Syst...

Mehrere Möglichkeiten zum Einfügen von SVG in HTML-Seiten

SVG (Scalable Vector Graphics) ist ein Bildformat...

Einfache Verwendung des Vue-Busses

Einfache Verwendung des Vue-Busses Beschreibung d...

Vue implementiert Login-Sprung

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erklärung zur Verwendung selbstverschachtelter Vue-Baumkomponenten

In diesem Artikel erfahren Sie, wie Sie die selbs...

Analyse der Docker-Methode zum Erstellen lokaler Images

Der sogenannte Container erstellt tatsächlich ein...