Oggetto oggetto incorporato

ObjectHttpsServer

HttpsServer è un oggetto utilizzato per creare un server https. È possibile utilizzare l'oggetto HttpsServerHttpServerTutte le funzioni e proprietà dell'interfaccia. L'oggetto HttpsServer può essere creato passando l'oggetto certificato precedentemente generato utilizzando openssl (X509Certtipo) e oggetto chiave (PKeytype), fornendo così al clientesslServizi protetti crittograficamente

L'oggetto del server https è ilSslServerEHttpHandlerLa combinazione di oggetti incapsulati semplifica la creazione rapida di un server, che è logicamente equivalente a:

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

Ecco un codice di esempio che utilizza 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();

Nell'esempio precedente, abbiamo caricato un certificato e un file di chiave privata denominato "server.crt" e "server.key", quindi creato un servizio utilizzando l'oggetto HttpsServer e avviato il servizio in ascolto sulla porta 8443. Quando il client Quando il client accede al servizio tramite " https://localhost:8443/ ", può riceveresslProtezione crittografata.

Va notato che se è richiesto un accesso esterno, è necessario assicurarsi che il certificato sia emesso da un'agenzia pubblica di fiducia, altrimenti il ​​cliente non potrà verificarlo, riducendo prestazioni e sicurezza e potrebbe attivare un avviso di sicurezza.

rapporto ereditario

Costruttore

HttpsServer

Costruttore HttpsServer, in ascolto su tutti gli indirizzi locali

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

Parametri di chiamata:

  • certs: Array, elenco dei certificati del server
  • port: intero, specificatohttpPorta di ascolto del server
  • hdlr:Handler,httpProcessore di messaggi integrato, funzione di elaborazione, array di elaborazione della catena, oggetto di instradamento, vedere per i dettagli

Il formato dei certificati è:

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] } ]

Costruttore HttpsServer

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

Parametri di chiamata:

  • certs: Array, elenco dei certificati del server
  • addr: Stringa, specificarehttpIndirizzo di ascolto del server, se è "", ascolterà su tutti gli indirizzi del computer locale.
  • port: intero, specificatohttpPorta di ascolto del server
  • hdlr:Handler,httpProcessore di messaggi integrato, funzione di elaborazione, array di elaborazione della catena, oggetto di instradamento, vedere per i dettagli

Il formato dei certificati è:

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] } ]

Costruttore HttpsServer, in ascolto su tutti gli indirizzi locali

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

Parametri di chiamata:

  • crt:X509Cert,X509CertCertificato, utilizzato dai client per autenticare i server
  • key:PKey,PKeyChiave privata, utilizzata per parlare con il client
  • port: intero, specificatohttpPorta di ascolto del server
  • hdlr:Handler,httpProcessore di messaggi integrato, funzione di elaborazione, array di elaborazione della catena, oggetto di instradamento, vedere per i dettagli

Costruttore HttpsServer

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

Parametri di chiamata:

  • crt:X509Cert,X509CertCertificato, utilizzato dai client per autenticare i server
  • key:PKey,PKeyChiave privata, utilizzata per parlare con il client
  • addr: Stringa, specificarehttpIndirizzo di ascolto del server, se è "", ascolterà su tutti gli indirizzi del computer locale.
  • port: intero, specificatohttpPorta di ascolto del server
  • hdlr:Handler,httpProcessore di messaggi integrato, funzione di elaborazione, array di elaborazione della catena, oggetto di instradamento, vedere per i dettagli

proprietà dei membri

verification

Numero intero, imposta la modalità di verifica del certificato, il valore predefinito è VERIFY_NONE

1
Integer HttpsServer.verification;

ca

X509Cert, verifica del certificato cliente ca

1
readonly X509Cert HttpsServer.ca;

maxHeadersCount

Intero, interroga e imposta il numero massimo di intestazioni di richiesta, il valore predefinito è 128

1
Integer HttpsServer.maxHeadersCount;

maxHeaderSize

Intero, interroga e imposta la lunghezza massima dell'intestazione della richiesta, il valore predefinito è 8192

1
Integer HttpsServer.maxHeaderSize;

maxBodySize

Intero, interroga e imposta la dimensione massima del corpo in MB, il valore predefinito è 64

1
Integer HttpsServer.maxBodySize;

enableEncoding

Interruttore booleano della funzione di decompressione automatica, disattivato per impostazione predefinita

1
Boolean HttpsServer.enableEncoding;

serverName

Stringa, interroga e imposta il nome del server, il valore predefinito è: fibjs/0.x.0

1
String HttpsServer.serverName;

socket

Socket, il server è attualmente in ascoltoSocketoggetto

1
readonly Socket HttpsServer.socket;

handler

Handler, l'oggetto dell'interfaccia di elaborazione eventi corrente del server

1
Handler HttpsServer.handler;

funzione membro

enableCrossOrigin

Consenti richieste interdominio

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

Parametri di chiamata:

  • allowHeaders: stringa, specificata per essere accettatahttpcampo di intestazione

start

Avvia il server corrente

1
HttpsServer.start();

stop

Chiudere il socket per interrompere il server in esecuzione

1
HttpsServer.stop() async;

toString

Restituisce la rappresentazione in formato stringa dell'oggetto. Generalmente viene restituito "[Oggetto nativo]". L'oggetto può essere reimplementato in base alle proprie caratteristiche.

1
String HttpsServer.toString();

Risultati restituiti:

  • String, restituisce la rappresentazione di stringa dell'oggetto

toJSON

Restituisce una rappresentazione in formato JSON dell'oggetto, generalmente restituendo una raccolta di proprietà leggibili definite dall'oggetto.

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

Parametri di chiamata:

  • key: Stringa, non utilizzata

Risultati restituiti:

  • Value, restituisce un valore contenente JSON serializzabile