So stellen Sie https mithilfe von Nginx + Node bereit
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 Referenzwert für das Lernen oder Arbeiten braucht Freunde, kommt und lernt gemeinsam.
Origin
Kürzlich schreibe ich die Node+Mongodb-Version von Lingxi Micro Mall, daher muss ich mein eigenes https-Zertifikat dafür bereitstellen Lassen Sie uns Ihnen einen vollständigen Überblick über den Implementierungsprozess geben und einen Blick auf die detaillierte Einführung werfen.
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 gebraucht, um das kostenlose https-Zertifikat zu bekommen. Es zeigt immer, dass es auf Alibaba ausverkauft ist Liegt es daran, dass 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, aber achten Sie 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 immer noch wie gewohnt, es spielt keine Rolle https oder http, es wird von Nginx erledigt. 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.
Es wurde ein Fehler gemeldet, der darauf hinweist, 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 des ngix-komprimierten Pakets herunter
wget http://nginx.org/download/nginx-1.12.1.tar.gz
Entpacken Sie es
tar zxvf nginx-1.12.1.tar.gz
Kompilieren Sie es mit Parametern, um das SSL-Modul zu erhalten
./configure --with-http_ssl_module make
Stoppen Sie Nginx
/usr/local/nginx/sbin/nginx -s stop
Von Natürlich können Sie den Prozess abbrechen. Was ich online gefunden habe, sind drei Möglichkeiten, den Prozess abzubrechen
Ersetzen Sie das alte Nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak cp ./objs/nginx /usr/local/nginx/sbin/
Starten Sie Nginx neu und laden Sie es neu die conf-Konfigurationsdatei
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf /usr/local/nginx/sbin/nginx -s reload
Das Obige ist, dass ich es für alle kompiliert habe, ich hoffe, dass es in Zukunft für alle hilfreich sein wird.
Verwandte Artikel:
Wie erreiche ich eine sekundäre Verknüpfung in js
Wie sollte Webpack mit Stilen umgehen?
So generieren Sie Wortbilder in js
Was sind die Referenzmethoden für Bibliotheken in jQuery
Das obige ist der detaillierte Inhalt vonSo stellen Sie https mithilfe von Nginx + Node bereit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Es ist für Entwickler wichtig, zu verstehen, wie die JavaScript -Engine intern funktioniert, da sie effizientere Code schreibt und Leistungs Engpässe und Optimierungsstrategien verstehen kann. 1) Der Workflow der Engine umfasst drei Phasen: Parsen, Kompilieren und Ausführung; 2) Während des Ausführungsprozesses führt die Engine dynamische Optimierung durch, wie z. B. Inline -Cache und versteckte Klassen. 3) Zu Best Practices gehören die Vermeidung globaler Variablen, die Optimierung von Schleifen, die Verwendung von const und lass und die Vermeidung übermäßiger Verwendung von Schließungen.

Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

Python und JavaScript haben ihre eigenen Vor- und Nachteile in Bezug auf Gemeinschaft, Bibliotheken und Ressourcen. 1) Die Python-Community ist freundlich und für Anfänger geeignet, aber die Front-End-Entwicklungsressourcen sind nicht so reich wie JavaScript. 2) Python ist leistungsstark in Bibliotheken für Datenwissenschaft und maschinelles Lernen, während JavaScript in Bibliotheken und Front-End-Entwicklungsbibliotheken und Frameworks besser ist. 3) Beide haben reichhaltige Lernressourcen, aber Python eignet sich zum Beginn der offiziellen Dokumente, während JavaScript mit Mdnwebdocs besser ist. Die Wahl sollte auf Projektbedürfnissen und persönlichen Interessen beruhen.

Die Verschiebung von C/C zu JavaScript erfordert die Anpassung an dynamische Typisierung, Müllsammlung und asynchrone Programmierung. 1) C/C ist eine statisch typisierte Sprache, die eine manuelle Speicherverwaltung erfordert, während JavaScript dynamisch eingegeben und die Müllsammlung automatisch verarbeitet wird. 2) C/C muss in den Maschinencode kompiliert werden, während JavaScript eine interpretierte Sprache ist. 3) JavaScript führt Konzepte wie Verschlüsse, Prototypketten und Versprechen ein, die die Flexibilität und asynchrone Programmierfunktionen verbessern.

Unterschiedliche JavaScript -Motoren haben unterschiedliche Auswirkungen beim Analysieren und Ausführen von JavaScript -Code, da sich die Implementierungsprinzipien und Optimierungsstrategien jeder Engine unterscheiden. 1. Lexikalanalyse: Quellcode in die lexikalische Einheit umwandeln. 2. Grammatikanalyse: Erzeugen Sie einen abstrakten Syntaxbaum. 3. Optimierung und Kompilierung: Generieren Sie den Maschinencode über den JIT -Compiler. 4. Führen Sie aus: Führen Sie den Maschinencode aus. V8 Engine optimiert durch sofortige Kompilierung und versteckte Klasse.

Zu den Anwendungen von JavaScript in der realen Welt gehören die serverseitige Programmierung, die Entwicklung mobiler Anwendungen und das Internet der Dinge. Die serverseitige Programmierung wird über node.js realisiert, die für die hohe gleichzeitige Anfrageverarbeitung geeignet sind. 2. Die Entwicklung der mobilen Anwendungen erfolgt durch reaktnative und unterstützt die plattformübergreifende Bereitstellung. 3.. Wird für die Steuerung von IoT-Geräten über die Johnny-Five-Bibliothek verwendet, geeignet für Hardware-Interaktion.

Ich habe eine funktionale SaaS-Anwendung mit mehreren Mandanten (eine EdTech-App) mit Ihrem täglichen Tech-Tool erstellt und Sie können dasselbe tun. Was ist eine SaaS-Anwendung mit mehreren Mietern? Mit Multi-Tenant-SaaS-Anwendungen können Sie mehrere Kunden aus einem Sing bedienen

Dieser Artikel zeigt die Frontend -Integration mit einem Backend, das durch die Genehmigung gesichert ist und eine funktionale edtech SaaS -Anwendung unter Verwendung von Next.js. erstellt. Die Frontend erfasst Benutzerberechtigungen zur Steuerung der UI-Sichtbarkeit und stellt sicher, dass API-Anfragen die Rollenbasis einhalten


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)