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
3var 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
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();
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
3new 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
4new 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
4new 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
5new 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
1Integer HttpsServer.verification;
ca
X509Cert, verifica del certificato cliente ca
1readonly X509Cert HttpsServer.ca;
maxHeadersCount
Intero, interroga e imposta il numero massimo di intestazioni di richiesta, il valore predefinito è 128
1Integer HttpsServer.maxHeadersCount;
maxHeaderSize
Intero, interroga e imposta la lunghezza massima dell'intestazione della richiesta, il valore predefinito è 8192
1Integer HttpsServer.maxHeaderSize;
maxBodySize
Intero, interroga e imposta la dimensione massima del corpo in MB, il valore predefinito è 64
1Integer HttpsServer.maxBodySize;
enableEncoding
Interruttore booleano della funzione di decompressione automatica, disattivato per impostazione predefinita
1Boolean HttpsServer.enableEncoding;
serverName
Stringa, interroga e imposta il nome del server, il valore predefinito è: fibjs/0.x.0
1String HttpsServer.serverName;
socket
Socket, il server è attualmente in ascoltoSocketoggetto
1readonly Socket HttpsServer.socket;
handler
Handler, l'oggetto dell'interfaccia di elaborazione eventi corrente del server
1Handler HttpsServer.handler;
funzione membro
enableCrossOrigin
Consenti richieste interdominio
1HttpsServer.enableCrossOrigin(String allowHeaders = "Content-Type");
Parametri di chiamata:
- allowHeaders: stringa, specificata per essere accettatahttpcampo di intestazione
start
Avvia il server corrente
1HttpsServer.start();
stop
Chiudere il socket per interrompere il server in esecuzione
1HttpsServer.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.
1String 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.
1Value HttpsServer.toJSON(String key = "");
Parametri di chiamata:
- key: Stringa, non utilizzata
Risultati restituiti:
- Value, restituisce un valore contenente JSON serializzabile