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
3var 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
12const 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
3new 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
4new 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
4new 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
5new 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
1Integer HttpsServer.verification;
ca
X509Cert, Überprüfung des Client-Zertifikats ca
1readonly 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
1Integer 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
1Integer 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
1Integer HttpsServer.maxBodySize;
enableEncoding
Boolescher, automatischer Dekomprimierungsfunktionsschalter, standardmäßig deaktiviert
1Boolean 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
1String HttpsServer.serverName;
socket
Socket, auf die der Server gerade lauschtSocketObjekt
1readonly Socket HttpsServer.socket;
handler
Handler, das aktuelle Ereignisverarbeitungsschnittstellenobjekt des Servers
1Handler HttpsServer.handler;
Mitgliedsfunktion
enableCrossOrigin
Erlauben Sie domänenübergreifende Anfragen
1HttpsServer.enableCrossOrigin(String allowHeaders = "Content-Type");
Aufrufparameter:
- allowHeaders: Zeichenfolge, die zur Annahme angegeben wurdehttpHeader-Feld
start
Aktuellen Server starten
1HttpsServer.start();
stop
Schließen Sie den Socket, um den laufenden Server abzubrechen
1HttpsServer.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.
1String 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.
1Value HttpsServer.toJSON(String key = "");
Aufrufparameter:
- key: Zeichenfolge, nicht verwendet
Rückgabeergebnisse:
- Value, gibt einen Wert zurück, der JSON serialisierbar enthält