Heim >Web-Frontend >js-Tutorial >Schritte zum Bereitstellen von https in der Alibaba Cloud mit Nginx und Node

Schritte zum Bereitstellen von https in der Alibaba Cloud mit Nginx und Node

小云云
小云云Original
2017-12-20 09:18:022251Durchsuche

Dieser Artikel führt Sie hauptsächlich in die Schritte der Bereitstellung von https in Alibaba Cloud mithilfe von Bildern, Texten und Beispielcodes ein. Es hat einen gewissen Referenz-Lernwert für jedermann Ich hoffe, es kann allen helfen.

Die Hauptunterschiede zwischen HTTPS und HTTP sind wie folgt:

1. Das https-Protokoll erfordert die Beantragung eines Zertifikats ab ca. Daher ist eine bestimmte Gebühr erforderlich.

2. http ist ein Hypertext-Übertragungsprotokoll und Informationen werden im Klartext übertragen, während https ein sicheres SSL-verschlüsseltes Übertragungsprotokoll ist.

3. http und https verwenden völlig unterschiedliche Verbindungsmethoden und verwenden unterschiedliche Ports. Ersteres ist 80 und letzteres ist 443.

4. Die HTTP-Verbindung ist sehr einfach und zustandslos; das HTTPS-Protokoll ist ein Netzwerkprotokoll, das auf dem SSL+HTTP-Protokoll basiert, das eine verschlüsselte Übertragung und Identitätsauthentifizierung durchführen kann und sicherer als das http-Protokoll ist.

Bewerben

Ich habe 2 Tage darauf gewartet, dass es bei Ali ausverkauft ist weil https in letzter Zeit häufiger vorkommt?

Bereitstellung

Fileauth.txt in das angegebene Verzeichnis hochgeladen. Nach einigen Minuten wurde die Überprüfung genehmigt. In diesem Zeitraum gingen keine Überprüfungsanrufe ein. Die von Alibaba bereitgestellten Betriebs- und Bereitstellungsanweisungen sind sehr detailliert. Kopieren Sie sie einfach, achten Sie jedoch darauf, den Zertifikatsordner unter conf abzulegen, nicht im Nginx-Stammverzeichnis, wie in den Anweisungen erwähnt. Wenn Sie nach der ursprünglichen Methode von Alibaba vorgehen, wird dieser Fehler fopen:No such file or directory:fopen('/usr/local/nginx/conf/cert/214389510580391.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file) angezeigt, was bedeutet, dass es sich um ein Problem mit dem Zertifikatverzeichnis handelt.

Knoten-Reverse-Proxy


location / {
   proxy_pass http://127.0.0.1:4001;
   proxy_set_header Host $host;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

Knoten läuft weiterhin wie gewohnt, egal ob https oder http, es wird von Nginx gemacht. Der erste Proxy-Pass ist ein Reverse-Proxy, und die nächsten drei Proxy-Set-Header übernehmen die Anfrage vollständig von mall.it577.net. Obwohl sie vom Frontend angefordert werden kann, ohne sie hinzuzufügen, wird req.originUrl dennoch in http:// aufgelöst. 127.0.0.1 :4001, dies wirkt sich auf die Entkopplung des WeChat-Zahlungsrückrufs notify_url aus, daher werden diese 3 Zeilen hinzugefügt.

Ergebnis

Sie können an der Adressleiste erkennen, dass https unterstützt wird.

Fallstricke

Der obige Prozess ist sehr einfach und kann grundsätzlich konfiguriert werden. Da mein auf Alibaba vorinstalliertes Nginx das https-Modul nicht enthält, muss ich das Installationspaket manuell herunterladen und neu kompilieren. Kopieren Sie abschließend die neu kompilierte ausführbare Nginx-Datei, ersetzen Sie sie und starten Sie den Dienst neu.

Fehlermeldung, dass das SSL-Modul nicht gefunden werden kann


nginx: [emerg] unknown directive "ssl" in /usr/local/nginx/conf/nginx.conf:123

Laden Sie die entsprechende Version von herunter ngix-Komprimierungspaket


wget http://nginx.org/download/nginx-1.12.1.tar.gz

Dekomprimieren


tar zxvf nginx-1.12.1.tar.gz

Mit Parametern kompilieren, um das SSL-Modul zu erhalten


./configure --with-http_ssl_module

make

Stoppt Nginx


/usr/local/nginx/sbin/nginx -s stop

Natürlich Sie können den Prozess online abbrechen. Ich habe drei Möglichkeiten gefunden, um den alten Nginx abzubrechen 🎜>

Starten Sie Nginx neu und laden Sie die Konfigurationsdatei conf neu

Verwandte Empfehlungen:


cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp ./objs/nginx /usr/local/nginx/sbin/
Detaillierte Erklärung von HTTPS


So verwenden Sie node.js, um einen selbstsignierten https-Server zu konfigurieren

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
/usr/local/nginx/sbin/nginx -s reload


https-Lösung, einschließlich request:fail-Fehler und echter Gerätevorschau Problem

Das obige ist der detaillierte Inhalt vonSchritte zum Bereitstellen von https in der Alibaba Cloud mit Nginx und Node. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn