Objekt integriertes Objekt

ObjectHttpsServer

HttpsServer ist ein Objekt zum Erstellen eines https-Servers. Das HttpsServer-Objekt kann verwendet werdenHttpServerAlle Schnittstellenfunktionen und -eigenschaften. Das HttpsServer-Objekt kann erstellt werden, indem das zuvor mit openssl generierte Zertifikatobjekt übergeben wird (X509CertTyp) und Schlüsselobjekt (PKeyTyp) und stellt dem Kunden somit zur VerfügungsslKryptografisch geschützte Dienste

Das https-Serverobjekt ist dasSslServerUndHttpHandlerDie Kombination gekapselter Objekte erleichtert den schnellen Aufbau eines Servers, was logisch äquivalent zu Folgendem ist:

1 2 3
var svr = new net.SslServer(crt, key, addr, port, new http.Handler(function(req) { ... }));

Hier ist ein Beispielcode mit HttpsServer:

1 2 3 4 5 6 7 8 9 10 11 12
const http = require("http"); const crypto = require("crypto"); // load cert and key const cert = crypto.loadCert("server.crt"); const key = crypto.loadPKey("server.key"); // create https server const server = new http.HttpsServer(cert, key, 8443, function(req) { resp.response.write(`Hello, Fibjs!`); }); server.start();

Im obigen Beispiel haben wir ein Zertifikat und eine private Schlüsseldatei mit den Namen „server.crt“ und „server.key“ geladen, dann einen Dienst mit dem HttpsServer-Objekt erstellt und den Dienst gestartet, der Port 8443 überwacht. Wenn der Client Wenn der Client über „ https://localhost:8443/ “ auf den Dienst zugreift, kann dieser empfangensslVerschlüsselter Schutz.

Es ist zu beachten, dass Sie bei erforderlichem externen Zugriff sicherstellen müssen, dass das Zertifikat von einer öffentlichen Vertrauensstelle ausgestellt wurde, da der Client es sonst nicht überprüfen kann, was zu Leistungs- und Sicherheitseinbußen führt und möglicherweise eine Sicherheitswarnung auslöst.

Erbschaftsverhältnis

Konstrukteur

HttpsServer

HttpsServer-Konstruktor, überwacht alle lokalen Adressen

1 2 3
new HttpsServer(Array certs, Integer port, Handler hdlr);

Aufrufparameter:

  • certs: Array, Liste der Serverzertifikate
  • port: Ganzzahl, angegebenhttpServer-Überwachungsport
  • hdlr:Handler,httpEingebauter Nachrichtenprozessor, Verarbeitungsfunktion, Kettenverarbeitungsarray, Routing-Objekt, siehe Einzelheiten

Das Format der Zertifikate ist:

1 2 3 4 5 6 7 8 9 10 11
[{ name: "fibjs.org", crt: [X509Cert object], key: [PKey object] }, { name: "*.fibjs.org", crt: [X509Cert object], key: [PKey object] } ]

HttpsServer-Konstruktor

1 2 3 4
new HttpsServer(Array certs, String addr, Integer port, Handler hdlr);

Aufrufparameter:

  • certs: Array, Liste der Serverzertifikate
  • addr: Zeichenfolge, angebenhttpWenn die Server-Abhöradresse „“ lautet, werden alle Adressen des lokalen Computers abgehört.
  • port: Ganzzahl, angegebenhttpServer-Überwachungsport
  • hdlr:Handler,httpEingebauter Nachrichtenprozessor, Verarbeitungsfunktion, Kettenverarbeitungsarray, Routing-Objekt, siehe Einzelheiten

Das Format der Zertifikate ist:

1 2 3 4 5 6 7 8 9 10 11
[{ name: "fibjs.org", crt: [X509Cert object], key: [PKey object] }, { name: "*.fibjs.org", crt: [X509Cert object], key: [PKey object] } ]

HttpsServer-Konstruktor, überwacht alle lokalen Adressen

1 2 3 4
new HttpsServer(X509Cert crt, PKey key, Integer port, Handler hdlr);

Aufrufparameter:

  • crt:X509Cert,X509CertZertifikat, das von Clients zur Authentifizierung von Servern verwendet wird
  • key:PKey,PKeyPrivater Schlüssel, der zur Kommunikation mit dem Client verwendet wird
  • port: Ganzzahl, angegebenhttpServer-Überwachungsport
  • hdlr:Handler,httpEingebauter Nachrichtenprozessor, Verarbeitungsfunktion, Kettenverarbeitungsarray, Routing-Objekt, siehe Einzelheiten

HttpsServer-Konstruktor

1 2 3 4 5
new HttpsServer(X509Cert crt, PKey key, String addr, Integer port, Handler hdlr);

Aufrufparameter:

  • crt:X509Cert,X509CertZertifikat, das von Clients zur Authentifizierung von Servern verwendet wird
  • key:PKey,PKeyPrivater Schlüssel, der zur Kommunikation mit dem Client verwendet wird
  • addr: Zeichenfolge, angebenhttpWenn die Server-Abhöradresse „“ lautet, werden alle Adressen des lokalen Computers abgehört.
  • port: Ganzzahl, angegebenhttpServer-Überwachungsport
  • hdlr:Handler,httpEingebauter Nachrichtenprozessor, Verarbeitungsfunktion, Kettenverarbeitungsarray, Routing-Objekt, siehe Einzelheiten

Mitgliedereigenschaften

verification

Ganzzahl, legt den Zertifikatsüberprüfungsmodus fest, der Standardwert ist VERIFY_NONE

1
Integer HttpsServer.verification;

ca

X509Cert, Überprüfung des Client-Zertifikats ca

1
readonly X509Cert HttpsServer.ca;

maxHeadersCount

Geben Sie eine Ganzzahl ein, fragen Sie ab und legen Sie die maximale Anzahl von Anforderungsheadern fest. Der Standardwert ist 128

1
Integer HttpsServer.maxHeadersCount;

maxHeaderSize

Geben Sie eine Ganzzahl ein, fragen Sie ab und legen Sie die maximale Länge des Anforderungsheaders fest. Der Standardwert ist 8192

1
Integer HttpsServer.maxHeaderSize;

maxBodySize

Geben Sie eine Ganzzahl ein, fragen Sie die maximale Körpergröße in MB ab und legen Sie sie fest. Der Standardwert ist 64

1
Integer HttpsServer.maxBodySize;

enableEncoding

Boolescher, automatischer Dekomprimierungsfunktionsschalter, standardmäßig deaktiviert

1
Boolean HttpsServer.enableEncoding;

serverName

Geben Sie eine Zeichenfolge ein, fragen Sie den Servernamen ab und legen Sie ihn fest. Der Standardwert ist: fibjs/0.x.0

1
String HttpsServer.serverName;

socket

Socket, auf die der Server gerade lauschtSocketObjekt

1
readonly Socket HttpsServer.socket;

handler

Handler, das aktuelle Ereignisverarbeitungsschnittstellenobjekt des Servers

1
Handler HttpsServer.handler;

Mitgliedsfunktion

enableCrossOrigin

Erlauben Sie domänenübergreifende Anfragen

1
HttpsServer.enableCrossOrigin(String allowHeaders = "Content-Type");

Aufrufparameter:

  • allowHeaders: Zeichenfolge, die zur Annahme angegeben wurdehttpHeader-Feld

start

Aktuellen Server starten

1
HttpsServer.start();

stop

Schließen Sie den Socket, um den laufenden Server abzubrechen

1
HttpsServer.stop() async;

toString

Gibt die Zeichenfolgendarstellung des Objekts zurück. Im Allgemeinen wird „[Native Object]“ zurückgegeben. Das Objekt kann gemäß seinen eigenen Eigenschaften neu implementiert werden.

1
String HttpsServer.toString();

Rückgabeergebnisse:

  • String, gibt die Zeichenfolgendarstellung des Objekts zurück

toJSON

Gibt eine Darstellung des Objekts im JSON-Format zurück und gibt im Allgemeinen eine Sammlung lesbarer Eigenschaften zurück, die vom Objekt definiert werden.

1
Value HttpsServer.toJSON(String key = "");

Aufrufparameter:

  • key: Zeichenfolge, nicht verwendet

Rückgabeergebnisse:

  • Value, gibt einen Wert zurück, der JSON serialisierbar enthält