Object-ingebouwd object

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 3
var 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 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();

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 3
new 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 4
new 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 4
new 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 5
new 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

1
Integer HttpsServer.verification;

ca

X509Cert, verificatie van clientcertificaten ca

1
readonly X509Cert HttpsServer.ca;

maxHeadersCount

Geheel getal, query en stel het maximale aantal verzoekheaders in, de standaardwaarde is 128

1
Integer HttpsServer.maxHeadersCount;

maxHeaderSize

Geheel getal, query en stel de maximale lengte van de aanvraagheader in, de standaardwaarde is 8192

1
Integer HttpsServer.maxHeaderSize;

maxBodySize

Geheel getal, query en stel de maximale lichaamsgrootte in MB in, de standaardwaarde is 64

1
Integer HttpsServer.maxBodySize;

enableEncoding

Boolean, automatische decompressiefunctieschakelaar, standaard uitgeschakeld

1
Boolean HttpsServer.enableEncoding;

serverName

Tekenreeks, query en stel de servernaam in, de standaardwaarde is: fibjs/0.x.0

1
String HttpsServer.serverName;

socket

Socket, waar de server momenteel naar luistertSocketvoorwerp

1
readonly Socket HttpsServer.socket;

handler

Handler, het huidige interface-object voor gebeurtenisverwerking van de server

1
Handler HttpsServer.handler;

lid functie

enableCrossOrigin

Sta cross-domein verzoeken toe

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

Oproepparameters:

  • allowHeaders: String, opgegeven om te worden geaccepteerdhttpkopveld

start

Start huidige server

1
HttpsServer.start();

stop

Sluit de socket om de actieve server af te breken

1
HttpsServer.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.

1
String 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.

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

Oproepparameters:

  • key: Tekenreeks, niet gebruikt

Resultaten retourneren:

  • Value, retourneert een waarde die JSON-serialiseerbaar bevat