ОбъектHttpsServer
HttpsServer — это объект, используемый для создания https-сервера. Можно использовать объект HttpsServer.HttpServerВсе функции и свойства интерфейса. Объект HttpsServer можно создать, передав объект сертификата, ранее созданный с помощью openssl (X509Certтип) и ключевой объект (PKeyтип), тем самым предоставляя клиентуsslКриптографически защищенные сервисы
Объект https-сервера — этоSslServerиHttpHandlerОбъединение инкапсулированных объектов позволяет легко и быстро построить сервер, что логически эквивалентно:
1
2
3var svr = new net.SslServer(crt, key, addr, port, new http.Handler(function(req) {
...
}));
Вот пример кода с использованием 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();
В приведенном выше примере мы загрузили сертификат и файл закрытого ключа с именами «server.crt» и «server.key», затем создали службу с использованием объекта HttpsServer и запустили службу, прослушивающую порт 8443. Когда клиент Когда клиент обращается к сервису через " https://localhost:8443/ ", он может получитьsslШифрованная защита.
Следует отметить, что если требуется внешний доступ, необходимо убедиться, что сертификат выдан общественным трастовым агентством, иначе клиент не сможет его проверить, что снизит производительность и безопасность и может вызвать предупреждение системы безопасности.
отношения наследства
Конструктор
HttpsServer
Конструктор HttpsServer, слушайте все локальные адреса
1
2
3new HttpsServer(Array certs,
Integer port,
Handler hdlr);
Параметры звонка:
- certs: Массив, список сертификатов сервера.
- port: указанное целое числоhttpПорт прослушивания сервера
- hdlr:Handler,httpВстроенный процессор сообщений, функция обработки, массив обработки цепочек, объект маршрутизации, подробности см.
Формат сертификатов:
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]
}
]
Конструктор HTTPSServer
1
2
3
4new HttpsServer(Array certs,
String addr,
Integer port,
Handler hdlr);
Параметры звонка:
- certs: Массив, список сертификатов сервера.
- addr: Строка, укажитеhttpАдрес прослушивания сервера, если он равен «», он будет прослушивать все адреса локального компьютера.
- port: указанное целое числоhttpПорт прослушивания сервера
- hdlr:Handler,httpВстроенный процессор сообщений, функция обработки, массив обработки цепочек, объект маршрутизации, подробности см.
Формат сертификатов:
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]
}
]
Конструктор HttpsServer, слушайте все локальные адреса
1
2
3
4new HttpsServer(X509Cert crt,
PKey key,
Integer port,
Handler hdlr);
Параметры звонка:
- crt:X509Cert,X509CertСертификат, используемый клиентами для аутентификации серверов.
- key:PKey,PKeyЗакрытый ключ, используемый для общения с клиентом
- port: указанное целое числоhttpПорт прослушивания сервера
- hdlr:Handler,httpВстроенный процессор сообщений, функция обработки, массив обработки цепочек, объект маршрутизации, подробности см.
Конструктор HTTPSServer
1
2
3
4
5new HttpsServer(X509Cert crt,
PKey key,
String addr,
Integer port,
Handler hdlr);
Параметры звонка:
- crt:X509Cert,X509CertСертификат, используемый клиентами для аутентификации серверов.
- key:PKey,PKeyЗакрытый ключ, используемый для общения с клиентом
- addr: Строка, укажитеhttpАдрес прослушивания сервера, если он равен «», он будет прослушивать все адреса локального компьютера.
- port: указанное целое числоhttpПорт прослушивания сервера
- hdlr:Handler,httpВстроенный процессор сообщений, функция обработки, массив обработки цепочек, объект маршрутизации, подробности см.
свойства члена
verification
Integer, установите режим проверки сертификата, по умолчанию VERIFY_NONE.
1Integer HttpsServer.verification;
ca
X509Cert, проверка сертификата клиента ca
1readonly X509Cert HttpsServer.ca;
maxHeadersCount
Целое число, запросите и установите максимальное количество заголовков запроса, значение по умолчанию — 128.
1Integer HttpsServer.maxHeadersCount;
maxHeaderSize
Целое число, запросите и установите максимальную длину заголовка запроса, значение по умолчанию — 8192.
1Integer HttpsServer.maxHeaderSize;
maxBodySize
Целое число, запрос и установка максимального размера тела в МБ, значение по умолчанию — 64.
1Integer HttpsServer.maxBodySize;
enableEncoding
Логическое значение, переключатель функции автоматической декомпрессии, по умолчанию отключено.
1Boolean HttpsServer.enableEncoding;
serverName
Строка, запрос и установка имени сервера, значение по умолчанию: fibjs/0.x.0.
1String HttpsServer.serverName;
socket
Socket, сервер в данный момент прослушиваетSocketобъект
1readonly Socket HttpsServer.socket;
handler
Handler, текущий объект интерфейса обработки событий сервера
1Handler HttpsServer.handler;
функция-член
enableCrossOrigin
Разрешить междоменные запросы
1HttpsServer.enableCrossOrigin(String allowHeaders = "Content-Type");
Параметры звонка:
- allowHeaders: строка, указанная для принятияhttpполе заголовка
start
Запустить текущий сервер
1HttpsServer.start();
stop
Закройте сокет, чтобы прервать работающий сервер.
1HttpsServer.stop() async;
toString
Возвращает строковое представление объекта. Обычно возвращается «[Native Object]». Объект может быть повторно реализован в соответствии с его собственными характеристиками.
1String HttpsServer.toString();
Результаты возврата:
- String, возвращает строковое представление объекта
toJSON
Возвращает представление объекта в формате JSON, обычно возвращая коллекцию читаемых свойств, определенных объектом.
1Value HttpsServer.toJSON(String key = "");
Параметры звонка:
- key: Строка, не используется.
Результаты возврата:
- Value, возвращает значение, содержащее сериализуемый JSON