ObjectHttpsServer
HttpsServer is een object dat wordt gebruikt om een https-server te maken. Het HttpsServer-object kan worden gebruiktHttpServerAlle interfacefuncties en eigenschappen. Het HttpsServer-object kan worden gemaakt door het certificaatobject door te geven dat eerder is gegenereerd met openssl (X509Certtype) en sleutelobject (PKeytype), waardoor de klant wordt voorzien vansslCryptografisch beveiligde diensten
Het https-serverobject is deSslServerEnHttpHandlerDoor ingekapselde objecten te combineren, kunt u eenvoudig snel een server bouwen, wat logischerwijs gelijkwaardig is aan:
1
2
3var svr = new net.SslServer(crt, key, addr, port, new http.Handler(function(req) {
...
}));
Hier is een voorbeeldcode met behulp van 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();
In het bovenstaande voorbeeld hebben we een certificaat en privésleutelbestand met de namen "server.crt" en "server.key" geladen, vervolgens een service gemaakt met behulp van het HttpsServer-object en de service gestart met luisteren op poort 8443. Wanneer de client Wanneer de client toegang heeft tot de service via " https://localhost:8443/ ", kan deze ontvangensslGecodeerde bescherming.
Opgemerkt moet worden dat als externe toegang vereist is, u ervoor moet zorgen dat het certificaat is uitgegeven door een openbare vertrouwensinstantie, anders kan de client het niet verifiëren, waardoor de prestaties en beveiliging afnemen en er mogelijk een beveiligingswaarschuwing wordt geactiveerd.
erfenis relatie
Constructeur
HttpsServer
HttpsServer-constructor, luister op alle lokale adressen
1
2
3new HttpsServer(Array certs,
Integer port,
Handler hdlr);
Oproepparameters:
- certs: Array, lijst met servercertificaten
- port: geheel getal, gespecificeerdhttpLuisterpoort van de server
- hdlr:Handler,httpIngebouwde berichtenprocessor, verwerkingsfunctie, ketenverwerkingsarray, routeringsobject, zie voor details
Het formaat van certificaten is:
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-constructor
1
2
3
4new HttpsServer(Array certs,
String addr,
Integer port,
Handler hdlr);
Oproepparameters:
- certs: Array, lijst met servercertificaten
- addr: Tekenreeks, specificeerhttpLuisteradres van de server. Als dit "" is, luistert het naar alle adressen van de lokale machine.
- port: geheel getal, gespecificeerdhttpLuisterpoort van de server
- hdlr:Handler,httpIngebouwde berichtenprocessor, verwerkingsfunctie, ketenverwerkingsarray, routeringsobject, zie voor details
Het formaat van certificaten is:
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-constructor, luister op alle lokale adressen
1
2
3
4new HttpsServer(X509Cert crt,
PKey key,
Integer port,
Handler hdlr);
Oproepparameters:
- crt:X509Cert,X509CertCertificaat, gebruikt door clients om servers te authenticeren
- key:PKey,PKeyPrivésleutel, gebruikt om met de klant te praten
- port: geheel getal, gespecificeerdhttpLuisterpoort van de server
- hdlr:Handler,httpIngebouwde berichtenprocessor, verwerkingsfunctie, ketenverwerkingsarray, routeringsobject, zie voor details
HttpsServer-constructor
1
2
3
4
5new HttpsServer(X509Cert crt,
PKey key,
String addr,
Integer port,
Handler hdlr);
Oproepparameters:
- crt:X509Cert,X509CertCertificaat, gebruikt door clients om servers te authenticeren
- key:PKey,PKeyPrivésleutel, gebruikt om met de klant te praten
- addr: Tekenreeks, specificeerhttpLuisteradres van de server. Als dit "" is, luistert het naar alle adressen van de lokale machine.
- port: geheel getal, gespecificeerdhttpLuisterpoort van de server
- hdlr:Handler,httpIngebouwde berichtenprocessor, verwerkingsfunctie, ketenverwerkingsarray, routeringsobject, zie voor details
eigenschappen van leden
verification
Integer, stel de certificaatverificatiemodus in, de standaardwaarde is VERIFY_NONE
1Integer HttpsServer.verification;
ca
X509Cert, verificatie van clientcertificaten ca
1readonly X509Cert HttpsServer.ca;
maxHeadersCount
Geheel getal, query en stel het maximale aantal verzoekheaders in, de standaardwaarde is 128
1Integer HttpsServer.maxHeadersCount;
maxHeaderSize
Geheel getal, query en stel de maximale lengte van de aanvraagheader in, de standaardwaarde is 8192
1Integer HttpsServer.maxHeaderSize;
maxBodySize
Geheel getal, query en stel de maximale lichaamsgrootte in MB in, de standaardwaarde is 64
1Integer HttpsServer.maxBodySize;
enableEncoding
Boolean, automatische decompressiefunctieschakelaar, standaard uitgeschakeld
1Boolean HttpsServer.enableEncoding;
serverName
Tekenreeks, query en stel de servernaam in, de standaardwaarde is: fibjs/0.x.0
1String HttpsServer.serverName;
socket
Socket, waar de server momenteel naar luistertSocketvoorwerp
1readonly Socket HttpsServer.socket;
handler
Handler, het huidige interface-object voor gebeurtenisverwerking van de server
1Handler HttpsServer.handler;
lid functie
enableCrossOrigin
Sta cross-domein verzoeken toe
1HttpsServer.enableCrossOrigin(String allowHeaders = "Content-Type");
Oproepparameters:
- allowHeaders: String, opgegeven om te worden geaccepteerdhttpkopveld
start
Start huidige server
1HttpsServer.start();
stop
Sluit de socket om de actieve server af te breken
1HttpsServer.stop() async;
toString
Retourneert de tekenreeksweergave van het object. Over het algemeen wordt '[Native Object]' geretourneerd. Het object kan opnieuw worden geïmplementeerd op basis van zijn eigen kenmerken.
1String HttpsServer.toString();
Resultaten retourneren:
- String, retourneert de tekenreeksrepresentatie van het object
toJSON
Retourneert een weergave in JSON-indeling van het object, waarbij doorgaans een verzameling leesbare eigenschappen wordt geretourneerd die door het object zijn gedefinieerd.
1Value HttpsServer.toJSON(String key = "");
Oproepparameters:
- key: Tekenreeks, niet gebruikt
Resultaten retourneren:
- Value, retourneert een waarde die JSON-serialiseerbaar bevat