So konfigurieren Sie SSL für den Koa2-Dienst

So konfigurieren Sie SSL für den Koa2-Dienst

I. Einleitung

1: SSL-Zertifikat

Mein Domänenname befindet sich in der Tencent Cloud. Jedes Mal, wenn ich einen Domänennamen der dritten Ebene erstelle (vorausgesetzt, es ist aaa.jiangw1.com), erhalte ich ein einjähriges SSL. Nach erfolgreicher Beantragung kann ich das SSL-Zertifikat wie folgt herunterladen:

Sie können sehen, dass verschiedene Serverdateien vorbereitet sind. Die gemeinsame SSL-Datei im roten Kreis kann für den Knotendienst verwendet werden.

2: Analyse

aaa.jiangw1.com: Geben Sie A für den Datensatztyp und die öffentliche IP des Servers für den Datensatzwert ein.

Zwei: Code

Der folgende Code ist auf das koa2-Projekt beschränkt, andere Node-Projekte sind ähnlich.

1: Abhängigkeiten installieren

npm installiere koa-sslify
npm installiere koa2-cors

2: app.js hinzugefügt

const app = new Koa();
const cors = erfordern('koa2-cors');
const sslify = erfordern('koa-sslify').default;

// SSL verwenden
app.verwenden(sslify());

// Domänenübergreifende Einstellungen app.use(cors({
  Herkunft: Funktion (ctx) {
    gibt ctx.header.origin zurück;
  }
}))

3: Änderung des Bin-Ordners

Erstellen Sie einen neuen SSL-Ordner und fügen Sie die .key- und .pem-Dateien in das SSL-Zertifikat ein.

Ändern Sie bin/www wie folgt:

var https = erforderlich("https");
var fs = erfordern("fs");
var Pfad = erforderlich("Pfad");
/**
 * HTTP-Server erstellen.
 */
// SSL-Optionen
var Optionen = {
  Schlüssel: fs.readFileSync(Pfad.join(__dirname, './ssl/aaa.jiangw1.com.key')),
  Zertifikat: fs.readFileSync(Pfad.join(__dirname, './ssl/aaa.jiangw1.com.pem'))
};
// var server = http.createServer(app.callback());
var httpsServer = https.createServer(Optionen, App.Callback());
httpsServer.listen(port, (err) => {
  wenn (Fehler) {
    console.log('Server-Init-Fehler', err);
  } anders {
    console.log('Server läuft an Port:' + Port);
  }
});
httpsServer.on('Fehler', beiFehler);
httpsServer.on('listening', onListening);
/**
 * Ereignis-Listener für „Abhör“-Ereignisse des HTTP-Servers.
 */
Funktion beimZuhören() {
  // var addr = server.adresse();
  var addr = httpsServer.address();
  var bind = typeof Adresse === 'Zeichenfolge'
    ? 'Pipe ' + Adresse
    : 'Port ' + Adresse.Port;
  debug('Abhören auf ' + bind);
}

4: Starten

Lokaler Start:
Öffnen Sie den Browser und gehen Sie zu https://localhost:3010. Wenn Sie sich anmelden können, bedeutet dies, dass die lokale Konfiguration erfolgreich war. Sie sollten darauf hingewiesen werden, dass der Domänenname ungültig ist.
Serverstart:
Starten Sie nach dem Hochladen des Quellcodes den Dienst mit pm2 und greifen Sie mit Ihrem Browser auf aaa.jiangw1.com zu. Wenn Sie darauf zugreifen können, bedeutet dies, dass die lokale Konfiguration erfolgreich war.

Drei: Notizen

  • Der Linux-Server muss Port 443 öffnen
  • Die SSL-Zertifikatsdatei muss genau konfiguriert sein
  • Der Port des Knotendienstes muss freigegeben werden
  • Die Domänennamenauflösung muss genau ausgefüllt werden

Dies ist das Ende dieses Artikels zum Konfigurieren von SSL für den koa2-Dienst. Weitere Informationen zum Konfigurieren von SSL für den koa2-Dienst finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung der Axios-Carrying-Cookie-Konfiguration (Axios+Koa)
  • Detaillierte Erläuterung des Konfigurationshandbuchs für Vue SSR (Vue2 + Koa2 + Webpack4)
  • Detaillierte Erläuterung der pm2-Konfiguration basierend auf Vue + Koa
  • Detaillierte Erläuterung der Kommunikation zwischen Client (Vue-Framework) und Server (Koa-Framework) sowie der domänenübergreifenden Serverkonfiguration

<<:  Erfahrungsaustausch zur Optimierung von MySQL-Big-Data-Abfragen (empfohlen)

>>:  So verwenden Sie Spark und Scala zum Analysieren von Apache-Zugriffsprotokollen

Artikel empfehlen

So löschen Sie den MySQL 8.0-Dienst vollständig unter Linux

Bevor Sie diesen Artikel lesen, sollten Sie sich ...

js implementiert ein einfaches Englisch-Chinesisch-Wörterbuch

In diesem Artikel wird der spezifische Code von j...

MySQL-Zeittypauswahl

Inhaltsverzeichnis DATETIME ZEITSTEMPEL Wie man w...

Grafisches Tutorial zu MySQL-Downloads und Installationsdetails

1. Um die MySQL-Datenbank herunterzuladen, besuch...

Eine kurze Einführung in die Abfrageeffizienz von MySQL-Speicherfeldtypen

Die Suchleistung von der schnellsten bis zur lang...

JavaScript implementiert die H5-Goldmünzenfunktion (Beispielcode)

Heute habe ich eine Aktivität für einen roten Ums...