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

SSM VUE Axios Detaillierte Erklärung

Inhaltsverzeichnis Wie wird das SQL-Protokoll ang...

3 Möglichkeiten zum Erstellen von JavaScript-Objekten

Inhaltsverzeichnis 1. Objektliterale 2. Das neue ...

So laden Sie Projekte im Linux-System in die Code Cloud hoch

Erstellen Sie ein neues Projekt test1 auf Code Cl...

Beispiel für die reguläre Umschreibmethode für Nginx Rewrite (Matching)

Die Rewrite-Funktion von Nginx unterstützt regelm...

17 JavaScript-Einzeiler

Inhaltsverzeichnis 1. DOM & BOM bezogen 1. Üb...

Farbverlaufseffekt im HTML-Hintergrund durch CSS-Stil erreicht

Screenshots der Effekte: Implementierungscode: Cod...

Detaillierte Erklärung zum Problem der CSS-Klassennamen

Die folgenden CSS-Klassennamen, die mit einer Zah...

Die Frontend-Entwicklung muss jeden Tag lernen, HTML-Tags zu verstehen (1)

2.1 Semantisierung sorgt dafür, dass Ihre Webseit...

So stellen Sie einen Code-Server mit Docker bereit

Ziehen Sie das Bild # Docker-Pull Codercom/Code-S...

Analyse von SQL-Integritätsbeschränkungsanweisungen in der Datenbank

Integritätsbeschränkungen Integritätsbedingungen ...

Popularisierung der Theorie – Benutzererfahrung

1. Konzeptanalyse 1: UE User Experience <br /&...

Lösen Sie das Problem der Containerverwaltung mit Docker Compose

Im Docker-Design führt ein Container nur eine Anw...