Obxecto obxecto incorporado

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

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

1
Integer HttpsServer.verification;

ca

X509Cert, verificación do certificado do cliente ca

1
readonly X509Cert HttpsServer.ca;

maxHeadersCount

Número enteiro, consulta e establece o número máximo de cabeceiras de solicitude, o valor predeterminado é 128

1
Integer HttpsServer.maxHeadersCount;

maxHeaderSize

Número enteiro, consulta e establece a lonxitude máxima da cabeceira da solicitude, o valor predeterminado é 8192

1
Integer HttpsServer.maxHeaderSize;

maxBodySize

Enteiro, consulta e establece o tamaño máximo do corpo en MB, o valor predeterminado é 64

1
Integer HttpsServer.maxBodySize;

enableEncoding

Booleano, interruptor de función de descompresión automática, desactivado por defecto

1
Boolean HttpsServer.enableEncoding;

serverName

Cadena, consulta e establece o nome do servidor, o predeterminado é: fibjs/0.x.0

1
String HttpsServer.serverName;

socket

Socket, o servidor está escoitandoSocketobxecto

1
readonly Socket HttpsServer.socket;

handler

Handler, o obxecto da interface de procesamento de eventos actual do servidor

1
Handler HttpsServer.handler;

función de membro

enableCrossOrigin

Permitir solicitudes entre dominios

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

Parámetros de chamada:

  • allowHeaders: Cadena, especificada para ser aceptadahttpcampo de cabeceira

start

Inicia o servidor actual

1
HttpsServer.start();

stop

Pecha o socket para abortar o servidor en execución

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

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

1
Value 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