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
3var 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
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();
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
3new 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
4new 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
4new 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
5new 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
1Integer HttpsServer.verification;
ca
X509Cert, verificación del certificado del cliente ca
1readonly X509Cert HttpsServer.ca;
maxHeadersCount
Entero, consulta y establece el número máximo de encabezados de solicitud, el valor predeterminado es 128
1Integer HttpsServer.maxHeadersCount;
maxHeaderSize
Entero, consulta y establece la longitud máxima del encabezado de solicitud, el valor predeterminado es 8192
1Integer HttpsServer.maxHeaderSize;
maxBodySize
Entero, consulta y establece el tamaño máximo del cuerpo en MB, el valor predeterminado es 64
1Integer HttpsServer.maxBodySize;
enableEncoding
Booleano, interruptor de función de descompresión automática, desactivado por defecto
1Boolean HttpsServer.enableEncoding;
serverName
Cadena, consulta y establece el nombre del servidor, el valor predeterminado es: fibjs/0.x.0
1String HttpsServer.serverName;
socket
Socket, el servidor está escuchando actualmenteSocketobjeto
1readonly Socket HttpsServer.socket;
handler
Handler, el objeto de interfaz de procesamiento de eventos actual del servidor
1Handler HttpsServer.handler;
función miembro
enableCrossOrigin
Permitir solicitudes entre dominios
1HttpsServer.enableCrossOrigin(String allowHeaders = "Content-Type");
Parámetros de llamada:
- allowHeaders: Cadena, especificada para ser aceptadahttpcampo de encabezado
start
Iniciar servidor actual
1HttpsServer.start();
stop
Cierre el socket para cancelar el servidor en ejecución
1HttpsServer.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.
1String 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.
1Value HttpsServer.toJSON(String key = "");
Parámetros de llamada:
- key: Cadena, no utilizada
Resultados de devolución:
- Value, devuelve un valor que contiene JSON serializable