Objeto incorporado

ObjetoHttpsServer

HttpsServer es un objeto que se utiliza para crear un servidor https. El objeto HttpsServer se puede utilizarHttpServerTodas las funciones y propiedades de la interfaz. El objeto HttpsServer se puede crear pasando el objeto de certificado generado previamente usando openssl (X509Certtipo) y objeto clave (PKeytipo), proporcionando así al clientesslServicios criptográficamente protegidos

El objeto del servidor https es elSslServeryHttpHandlerLa combinación de objetos encapsulados facilita la construcción rápida de un servidor, lo que lógicamente equivale a:

1 2 3
var svr = new net.SslServer(crt, key, addr, port, new http.Handler(function(req) { ... }));

Aquí hay un código de muestra 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();

En el ejemplo anterior, cargamos un certificado y un archivo de clave privada llamado "server.crt" y "server.key", luego creamos un servicio usando el objeto HttpsServer e iniciamos el servicio escuchando en el puerto 8443. Cuando el cliente Cuando el cliente accede al servicio a través de " https://localhost:8443/ ", puede recibirsslProtección cifrada.

Cabe señalar que si se requiere acceso externo, debe asegurarse de que el certificado sea emitido por una agencia de confianza pública; de lo contrario, el cliente no podrá verificarlo, lo que reducirá el rendimiento y la seguridad y puede activar una advertencia de seguridad.

relación de herencia

Constructor

HttpsServer

Constructor HttpsServer, escucha en todas las direcciones locales

1 2 3
new HttpsServer(Array certs, Integer port, Handler hdlr);

Parámetros de llamada:

  • certs: Matriz, lista de certificados de servidor
  • port: Entero, especificadohttpPuerto de escucha del servidor
  • hdlr:Handler,httpProcesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, consulte para más detalles

El formato de los certificados es:

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 4
new HttpsServer(Array certs, String addr, Integer port, Handler hdlr);

Parámetros de llamada:

  • certs: Matriz, lista de certificados de servidor
  • addr: Cadena, especifiquehttpDirección de escucha del servidor, si es "", escuchará en todas las direcciones de la máquina local.
  • port: Entero, especificadohttpPuerto de escucha del servidor
  • hdlr:Handler,httpProcesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, consulte para más detalles

El formato de los certificados es:

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, escucha en todas las direcciones locales

1 2 3 4
new HttpsServer(X509Cert crt, PKey key, Integer port, Handler hdlr);

Parámetros de llamada:

  • crt:X509Cert,X509CertCertificado, utilizado por los clientes para autenticar servidores.
  • key:PKey,PKeyClave privada, utilizada para hablar con el cliente.
  • port: Entero, especificadohttpPuerto de escucha del servidor
  • hdlr:Handler,httpProcesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, consulte para más detalles

Constructor HttpsServer

1 2 3 4 5
new HttpsServer(X509Cert crt, PKey key, String addr, Integer port, Handler hdlr);

Parámetros de llamada:

  • crt:X509Cert,X509CertCertificado, utilizado por los clientes para autenticar servidores.
  • key:PKey,PKeyClave privada, utilizada para hablar con el cliente.
  • addr: Cadena, especifiquehttpDirección de escucha del servidor, si es "", escuchará en todas las direcciones de la máquina local.
  • port: Entero, especificadohttpPuerto de escucha del servidor
  • hdlr:Handler,httpProcesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, consulte para más detalles

propiedades de miembros

verification

Entero, configure el modo de verificación del certificado, el valor predeterminado es VERIFY_NONE

1
Integer HttpsServer.verification;

ca

X509Cert, verificación del certificado del cliente ca

1
readonly X509Cert HttpsServer.ca;

maxHeadersCount

Entero, consulta y establece el número máximo de encabezados de solicitud, el valor predeterminado es 128

1
Integer HttpsServer.maxHeadersCount;

maxHeaderSize

Entero, consulta y establece la longitud máxima del encabezado de solicitud, el valor predeterminado es 8192

1
Integer HttpsServer.maxHeaderSize;

maxBodySize

Entero, consulta y establece el tamaño máximo del cuerpo en MB, el valor predeterminado es 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 y establece el nombre del servidor, el valor predeterminado es: fibjs/0.x.0

1
String HttpsServer.serverName;

socket

Socket, el servidor está escuchando actualmenteSocketobjeto

1
readonly Socket HttpsServer.socket;

handler

Handler, el objeto de interfaz de procesamiento de eventos actual del servidor

1
Handler HttpsServer.handler;

función miembro

enableCrossOrigin

Permitir solicitudes entre dominios

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

Parámetros de llamada:

  • allowHeaders: Cadena, especificada para ser aceptadahttpcampo de encabezado

start

Iniciar servidor actual

1
HttpsServer.start();

stop

Cierre el socket para cancelar el servidor en ejecución

1
HttpsServer.stop() async;

toString

Devuelve la representación de cadena del objeto. Generalmente, se devuelve "[Objeto nativo]". El objeto se puede volver a implementar de acuerdo con sus propias características.

1
String HttpsServer.toString();

Resultados de devolución:

  • String, devuelve la representación de cadena del objeto

toJSON

Devuelve una representación en formato JSON del objeto, que generalmente devuelve una colección de propiedades legibles definidas por el objeto.

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

Parámetros de llamada:

  • key: Cadena, no utilizada

Resultados de devolución:

  • Value, devuelve un valor que contiene JSON serializable