ObjetHttpsServeur
HttpsServer est un objet utilisé pour créer un serveur https. L'objet HttpsServer peut être utiliséHttpServerToutes les fonctions et propriétés de l'interface. L'objet HttpsServer peut être créé en passant l'objet certificat précédemment généré à l'aide d'openssl (X509Certtype) et l'objet clé (PKeytype), fournissant ainsi au clientsslServices protégés cryptographiquement
L'objet serveur https est leSslServeretHttpHandlerLa combinaison d'objets encapsulés permet de construire facilement et rapidement un serveur, ce qui équivaut logiquement à :
1
2
3var svr = new net.SslServer(crt, key, addr, port, new http.Handler(function(req) {
...
}));
Voici un exemple de code utilisant 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();
Dans l'exemple ci-dessus, nous avons chargé un fichier de certificat et de clé privée nommé "server.crt" et "server.key", puis créé un service à l'aide de l'objet HttpsServer et démarré le service en écoute sur le port 8443. Lorsque le client Lorsque le client accède au service via " https://localhost:8443/ ", il peut recevoirsslProtection cryptée.
Il convient de noter que si un accès externe est requis, vous devez vous assurer que le certificat est émis par une agence de confiance publique, sinon le client ne pourra pas le vérifier, ce qui réduira les performances et la sécurité et pourrait déclencher un avertissement de sécurité.
relation d'héritage
Constructeur
HttpsServer
Constructeur HttpsServer, écoute sur toutes les adresses locales
1
2
3new HttpsServer(Array certs,
Integer port,
Handler hdlr);
Paramètres d'appel :
- certs: Tableau, liste des certificats du serveur
- port: Entier, spécifiéhttpPort d'écoute du serveur
- hdlr:Handler,httpProcesseur de messages intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir pour plus de détails
Le format des certificats est :
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]
}
]
Constructeur HttpsServer
1
2
3
4new HttpsServer(Array certs,
String addr,
Integer port,
Handler hdlr);
Paramètres d'appel :
- certs: Tableau, liste des certificats du serveur
- addr: Chaîne, précisezhttpAdresse d'écoute du serveur, si elle est "", il écoutera sur toutes les adresses de la machine locale.
- port: Entier, spécifiéhttpPort d'écoute du serveur
- hdlr:Handler,httpProcesseur de messages intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir pour plus de détails
Le format des certificats est :
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]
}
]
Constructeur HttpsServer, écoute sur toutes les adresses locales
1
2
3
4new HttpsServer(X509Cert crt,
PKey key,
Integer port,
Handler hdlr);
Paramètres d'appel :
- crt:X509Cert,X509CertCertificat, utilisé par les clients pour authentifier les serveurs
- key:PKey,PKeyClé privée, utilisée pour parler au client
- port: Entier, spécifiéhttpPort d'écoute du serveur
- hdlr:Handler,httpProcesseur de messages intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir pour plus de détails
Constructeur HttpsServer
1
2
3
4
5new HttpsServer(X509Cert crt,
PKey key,
String addr,
Integer port,
Handler hdlr);
Paramètres d'appel :
- crt:X509Cert,X509CertCertificat, utilisé par les clients pour authentifier les serveurs
- key:PKey,PKeyClé privée, utilisée pour parler au client
- addr: Chaîne, précisezhttpAdresse d'écoute du serveur, si elle est "", il écoutera sur toutes les adresses de la machine locale.
- port: Entier, spécifiéhttpPort d'écoute du serveur
- hdlr:Handler,httpProcesseur de messages intégré, fonction de traitement, tableau de traitement en chaîne, objet de routage, voir pour plus de détails
propriétés des membres
verification
Nombre entier, définissez le mode de vérification du certificat, la valeur par défaut est VERIFY_NONE
1Integer HttpsServer.verification;
ca
X509Cert, vérification du certificat client ca
1readonly X509Cert HttpsServer.ca;
maxHeadersCount
Entier, interrogez et définissez le nombre maximum d'en-têtes de requête, la valeur par défaut est 128
1Integer HttpsServer.maxHeadersCount;
maxHeaderSize
Entier, interrogez et définissez la longueur maximale de l'en-tête de requête, la valeur par défaut est 8192
1Integer HttpsServer.maxHeaderSize;
maxBodySize
Entier, interrogez et définissez la taille maximale du corps en Mo, la valeur par défaut est 64
1Integer HttpsServer.maxBodySize;
enableEncoding
Booléen, commutateur de fonction de décompression automatique, désactivé par défaut
1Boolean HttpsServer.enableEncoding;
serverName
Chaîne, interrogez et définissez le nom du serveur, la valeur par défaut est : fibjs/0.x.0
1String HttpsServer.serverName;
socket
Socket, le serveur écoute actuellementSocketobjet
1readonly Socket HttpsServer.socket;
handler
Handler, l'objet d'interface de traitement des événements actuels du serveur
1Handler HttpsServer.handler;
fonction membre
enableCrossOrigin
Autoriser les requêtes inter-domaines
1HttpsServer.enableCrossOrigin(String allowHeaders = "Content-Type");
Paramètres d'appel :
- allowHeaders: Chaîne, spécifiée pour être acceptéehttpchamp d'en-tête
start
Démarrer le serveur actuel
1HttpsServer.start();
stop
Fermez le socket pour abandonner le serveur en cours d'exécution
1HttpsServer.stop() async;
toString
Renvoie la représentation sous forme de chaîne de l'objet. Généralement, "[Native Object]" est renvoyé. L'objet peut être réimplémenté en fonction de ses propres caractéristiques.
1String HttpsServer.toString();
Résultats de retour :
- String, renvoie la représentation sous forme de chaîne de l'objet
toJSON
Renvoie une représentation au format JSON de l'objet, renvoyant généralement une collection de propriétés lisibles définies par l'objet.
1Value HttpsServer.toJSON(String key = "");
Paramètres d'appel :
- key: Chaîne, non utilisée
Résultats de retour :
- Value, renvoie une valeur contenant du JSON sérialisable