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

6 Möglichkeiten, die von Linux-Prozessen belegten Portnummern anzuzeigen

Für Linux-Systemadministratoren ist es von entsch...

Adaptive Breitentabelle für HTML-Seiten

Auf den Seiten von Webanwendungen werden häufig T...

Implementierung einer einfachen Web-Uhr mit JavaScript

Verwenden Sie JavaScript, um eine Webseitenuhr zu...

Lösung für den Fehler bei der Installation von Docker auf der CentOS-Version

1. Versionsinformationen # Katze /etc/system-rele...

So installieren Sie eine PHP7 + Nginx-Umgebung unter CentOS6.6

Dieser Artikel beschreibt, wie man eine PHP7 + Ng...

Detailliertes Installationstutorial von Docker unter CentOS

Docker ist in CE und EE unterteilt. Die CE-Versio...

Zabbix überwacht den Prozess der Linux-Systemdienste

Zabbix erkennt automatisch Regeln zur Überwachung...

Interaktion im Webdesign: Eine kurze Diskussion über Paging-Probleme

Funktion: Zur vorherigen Seite oder zur nächsten ...

Zusammenfassung der MySQL-Tabellen- und Spaltenkommentare

Genau wie bei Code können Sie den Tabellen und Sp...

Verwendung von Kubernetes YAML-Dateien

Inhaltsverzeichnis 01 Einführung in YAML-Dateien ...

HTML-Optimierung beschleunigt Webseiten

Offensichtliches HTML, verstecktes „öffentliches ...

Vues Leitfaden zu Fallstricken bei der Verwendung von Drosselungsfunktionen

Vorwort In einem üblichen Geschäftsszenario müsse...

Vue realisiert den Produktlupeneffekt

In diesem Artikelbeispiel wird der spezifische Co...