ObjectHttpsServer
HttpsServer és un objecte que s'utilitza per crear un servidor https. Es pot utilitzar l'objecte HttpsServerHttpServerTotes les funcions i propietats de la interfície. L'objecte HttpsServer es pot crear passant l'objecte de certificat generat prèviament amb openssl (X509Certtipus) i objecte clau (PKeytipus), proporcionant així al clientsslServeis protegits criptogràficament
L'objecte del servidor https és elSslServeriHttpHandlerLa combinació d'objectes encapsulats facilita la creació ràpida d'un servidor, que és lògicament equivalent a:
1
2
3var svr = new net.SslServer(crt, key, addr, port, new http.Handler(function(req) {
...
}));
Aquí teniu un codi de mostra amb 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();
A l'exemple anterior, vam carregar un fitxer de certificat i clau privada anomenat "server.crt" i "server.key", i després vam crear un servei mitjançant l'objecte HttpsServer i vam iniciar el servei escoltant el port 8443. Quan el client Quan el client accedeix al servei a través de " https://localhost:8443/ ", pot rebresslProtecció xifrada.
Cal tenir en compte que si es requereix un accés extern, cal assegurar-se que el certificat és emès per una agència pública de confiança, en cas contrari el client no pot verificar-lo, reduint el rendiment i la seguretat, i pot activar un avís de seguretat.
relació hereditària
Constructor
HttpsServer
Constructor HttpsServer, escolteu totes les adreces locals
1
2
3new HttpsServer(Array certs,
Integer port,
Handler hdlr);
Paràmetres de trucada:
- certs: Matriu, llista de certificats de servidor
- port: Enter, especificathttpPort d'escolta del servidor
- hdlr:Handler,httpProcessador de missatges integrat, funció de processament, matriu de processament en cadena, objecte d'encaminament, vegeu-ne els detalls
El format dels certificats és:
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]
}
]
Constructor HttpsServer
1
2
3
4new HttpsServer(Array certs,
String addr,
Integer port,
Handler hdlr);
Paràmetres de trucada:
- certs: Matriu, llista de certificats de servidor
- addr: Cadena, especifiqueuhttpAdreça d'escolta del servidor, si és "", escoltarà a totes les adreces de la màquina local.
- port: Enter, especificathttpPort d'escolta del servidor
- hdlr:Handler,httpProcessador de missatges integrat, funció de processament, matriu de processament en cadena, objecte d'encaminament, vegeu-ne els detalls
El format dels certificats és:
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]
}
]
Constructor HttpsServer, escolteu totes les adreces locals
1
2
3
4new HttpsServer(X509Cert crt,
PKey key,
Integer port,
Handler hdlr);
Paràmetres de trucada:
- crt:X509Cert,X509CertCertificat, utilitzat pels clients per autenticar servidors
- key:PKey,PKeyClau privada, utilitzada per parlar amb el client
- port: Enter, especificathttpPort d'escolta del servidor
- hdlr:Handler,httpProcessador de missatges integrat, funció de processament, matriu de processament en cadena, objecte d'encaminament, vegeu-ne els detalls
Constructor HttpsServer
1
2
3
4
5new HttpsServer(X509Cert crt,
PKey key,
String addr,
Integer port,
Handler hdlr);
Paràmetres de trucada:
- crt:X509Cert,X509CertCertificat, utilitzat pels clients per autenticar servidors
- key:PKey,PKeyClau privada, utilitzada per parlar amb el client
- addr: Cadena, especifiqueuhttpAdreça d'escolta del servidor, si és "", escoltarà a totes les adreces de la màquina local.
- port: Enter, especificathttpPort d'escolta del servidor
- hdlr:Handler,httpProcessador de missatges integrat, funció de processament, matriu de processament en cadena, objecte d'encaminament, vegeu-ne els detalls
propietats dels membres
verification
Enter, estableix el mode de verificació del certificat, el valor predeterminat és VERIFY_NONE
1Integer HttpsServer.verification;
ca
X509Cert, verificació del certificat del client ca
1readonly X509Cert HttpsServer.ca;
maxHeadersCount
Enter, consulteu i estableixi el nombre màxim de capçaleres de sol·licitud, el valor predeterminat és 128
1Integer HttpsServer.maxHeadersCount;
maxHeaderSize
Enter, consulteu i estableixi la longitud màxima de la capçalera de la sol·licitud, el valor per defecte és 8192
1Integer HttpsServer.maxHeaderSize;
maxBodySize
Enter, consulteu i configureu la mida màxima del cos en MB, el valor predeterminat és 64
1Integer HttpsServer.maxBodySize;
enableEncoding
Commutador booleà de la funció de descompressió automàtica, desactivat per defecte
1Boolean HttpsServer.enableEncoding;
serverName
Encadena, consulta i defineix el nom del servidor, el valor per defecte és: fibjs/0.x.0
1String HttpsServer.serverName;
socket
Socket, el servidor està escoltant actualmentSocketobjecte
1readonly Socket HttpsServer.socket;
handler
Handler, l'objecte actual de la interfície de processament d'esdeveniments del servidor
1Handler HttpsServer.handler;
funció de membre
enableCrossOrigin
Permet sol·licituds entre dominis
1HttpsServer.enableCrossOrigin(String allowHeaders = "Content-Type");
Paràmetres de trucada:
- allowHeaders: Cadena, especificada per ser acceptadahttpcamp de capçalera
start
Inicieu el servidor actual
1HttpsServer.start();
stop
Tanqueu el sòcol per avortar el servidor en execució
1HttpsServer.stop() async;
toString
Retorna la representació de cadena de l'objecte. En general, es retorna "[Objecte natiu]". L'objecte es pot tornar a implementar segons les seves pròpies característiques.
1String HttpsServer.toString();
Resultats de retorn:
- String, retorna la representació de cadena de l'objecte
toJSON
Retorna una representació en format JSON de l'objecte, generalment retornant una col·lecció de propietats llegibles definides per l'objecte.
1Value HttpsServer.toJSON(String key = "");
Paràmetres de trucada:
- key: Corda, no utilitzada
Resultats de retorn:
- Value, retorna un valor que conté JSON serializable