ObjectHttpsServer
HttpsServer é un obxecto usado para crear un servidor https. Pódese usar o obxecto HttpsServerHttpServerTodas as funcións e propiedades da interface. O obxecto HttpsServer pódese crear pasando o obxecto certificado xerado previamente usando openssl (X509Certtipo) e obxecto clave (PKeytipo), proporcionando así ao clientesslServizos protexidos criptográficamente
O obxecto do servidor https é oSslServereHttpHandlerA combinación de obxectos encapsulados facilita a construción dun servidor rapidamente, o que é loxicamente equivalente a:
1
2
3var svr = new net.SslServer(crt, key, addr, port, new http.Handler(function(req) {
...
}));
Aquí tes un código de mostra usando 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();
No exemplo anterior, cargamos un ficheiro de certificado e clave privada chamado "server.crt" e "server.key", despois creamos un servizo usando o obxecto HttpsServer e iniciamos o servizo escoitando no porto 8443. Cando o cliente Cando o cliente accede ao servizo a través de " https://localhost:8443/ ", pode recibirsslProtección cifrada.
Cómpre ter en conta que, se é necesario un acceso externo, cómpre asegurarse de que o certificado é emitido por unha axencia pública de confianza, se non, o cliente non pode verificalo, o que reduce o rendemento e a seguridade, e pode activar unha advertencia de seguridade.
relación de herdanza
Construtor
HttpsServer
Construtor HttpsServer, escoita todos os enderezos locais
1
2
3new HttpsServer(Array certs,
Integer port,
Handler hdlr);
Parámetros de chamada:
- certs: Matriz, lista de certificados de servidor
- port: Número enteiro, especificadohttpPorto de escoita do servidor
- hdlr:Handler,httpProcesador de mensaxes integrado, función de procesamento, matriz de procesamento en cadea, obxecto de enrutamento, consulte os detalles
O formato dos certificados é:
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]
}
]
Construtor HttpsServer
1
2
3
4new HttpsServer(Array certs,
String addr,
Integer port,
Handler hdlr);
Parámetros de chamada:
- certs: Matriz, lista de certificados de servidor
- addr: Cadena, especifiquehttpEnderezo de escoita do servidor, se é "", escoitará en todos os enderezos da máquina local.
- port: Número enteiro, especificadohttpPorto de escoita do servidor
- hdlr:Handler,httpProcesador de mensaxes integrado, función de procesamento, matriz de procesamento en cadea, obxecto de enrutamento, consulte os detalles
O formato dos certificados é:
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]
}
]
Construtor HttpsServer, escoita todos os enderezos locais
1
2
3
4new HttpsServer(X509Cert crt,
PKey key,
Integer port,
Handler hdlr);
Parámetros de chamada:
- crt:X509Cert,X509CertCertificado, usado polos clientes para autenticar servidores
- key:PKey,PKeyChave privada, usada para falar co cliente
- port: Número enteiro, especificadohttpPorto de escoita do servidor
- hdlr:Handler,httpProcesador de mensaxes integrado, función de procesamento, matriz de procesamento en cadea, obxecto de enrutamento, consulte os detalles
Construtor HttpsServer
1
2
3
4
5new HttpsServer(X509Cert crt,
PKey key,
String addr,
Integer port,
Handler hdlr);
Parámetros de chamada:
- crt:X509Cert,X509CertCertificado, usado polos clientes para autenticar servidores
- key:PKey,PKeyChave privada, usada para falar co cliente
- addr: Cadena, especifiquehttpEnderezo de escoita do servidor, se é "", escoitará en todos os enderezos da máquina local.
- port: Número enteiro, especificadohttpPorto de escoita do servidor
- hdlr:Handler,httpProcesador de mensaxes integrado, función de procesamento, matriz de procesamento en cadea, obxecto de enrutamento, consulte os detalles
propiedades dos membros
verification
Enteiro, establece o modo de verificación do certificado, o valor predeterminado é VERIFY_NONE
1Integer HttpsServer.verification;
ca
X509Cert, verificación do certificado do cliente ca
1readonly X509Cert HttpsServer.ca;
maxHeadersCount
Número enteiro, consulta e establece o número máximo de cabeceiras de solicitude, o valor predeterminado é 128
1Integer HttpsServer.maxHeadersCount;
maxHeaderSize
Número enteiro, consulta e establece a lonxitude máxima da cabeceira da solicitude, o valor predeterminado é 8192
1Integer HttpsServer.maxHeaderSize;
maxBodySize
Enteiro, consulta e establece o tamaño máximo do corpo en MB, o valor predeterminado é 64
1Integer HttpsServer.maxBodySize;
enableEncoding
Booleano, interruptor de función de descompresión automática, desactivado por defecto
1Boolean HttpsServer.enableEncoding;
serverName
Cadena, consulta e establece o nome do servidor, o predeterminado é: fibjs/0.x.0
1String HttpsServer.serverName;
socket
Socket, o servidor está escoitandoSocketobxecto
1readonly Socket HttpsServer.socket;
handler
Handler, o obxecto da interface de procesamento de eventos actual do servidor
1Handler HttpsServer.handler;
función de membro
enableCrossOrigin
Permitir solicitudes entre dominios
1HttpsServer.enableCrossOrigin(String allowHeaders = "Content-Type");
Parámetros de chamada:
- allowHeaders: Cadena, especificada para ser aceptadahttpcampo de cabeceira
start
Inicia o servidor actual
1HttpsServer.start();
stop
Pecha o socket para abortar o servidor en execución
1HttpsServer.stop() async;
toString
Devolve a representación en cadea do obxecto. Polo xeral, devólvese "[Obxecto nativo]". O obxecto pódese volver implementar segundo as súas propias características.
1String HttpsServer.toString();
Resultados de devolución:
- String, devolve a representación en cadea do obxecto
toJSON
Devolve unha representación en formato JSON do obxecto, devolvendo xeralmente unha colección de propiedades lexibles definidas polo obxecto.
1Value HttpsServer.toJSON(String key = "");
Parámetros de chamada:
- key: Cadena, non usada
Resultados de devolución:
- Value, devolve un valor que contén JSON serializable