Встроенный объект объекта

ОбъектHttpsServer

HttpsServer — это объект, используемый для создания https-сервера. Можно использовать объект HttpsServer.HttpServerВсе функции и свойства интерфейса. Объект HttpsServer можно создать, передав объект сертификата, ранее созданный с помощью openssl (X509Certтип) и ключевой объект (PKeyтип), тем самым предоставляя клиентуsslКриптографически защищенные сервисы

Объект https-сервера — этоSslServerиHttpHandlerОбъединение инкапсулированных объектов позволяет легко и быстро построить сервер, что логически эквивалентно:

1 2 3
var 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 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();

В приведенном выше примере мы загрузили сертификат и файл закрытого ключа с именами «server.crt» и «server.key», затем создали службу с использованием объекта HttpsServer и запустили службу, прослушивающую порт 8443. Когда клиент Когда клиент обращается к сервису через " https://localhost:8443/ ", он может получитьsslШифрованная защита.

Следует отметить, что если требуется внешний доступ, необходимо убедиться, что сертификат выдан общественным трастовым агентством, иначе клиент не сможет его проверить, что снизит производительность и безопасность и может вызвать предупреждение системы безопасности.

отношения наследства

Конструктор

HttpsServer

Конструктор HttpsServer, слушайте все локальные адреса

1 2 3
new 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 4
new 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 4
new 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 5
new 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.

1
Integer HttpsServer.verification;

ca

X509Cert, проверка сертификата клиента ca

1
readonly X509Cert HttpsServer.ca;

maxHeadersCount

Целое число, запросите и установите максимальное количество заголовков запроса, значение по умолчанию — 128.

1
Integer HttpsServer.maxHeadersCount;

maxHeaderSize

Целое число, запросите и установите максимальную длину заголовка запроса, значение по умолчанию — 8192.

1
Integer HttpsServer.maxHeaderSize;

maxBodySize

Целое число, запрос и установка максимального размера тела в МБ, значение по умолчанию — 64.

1
Integer HttpsServer.maxBodySize;

enableEncoding

Логическое значение, переключатель функции автоматической декомпрессии, по умолчанию отключено.

1
Boolean HttpsServer.enableEncoding;

serverName

Строка, запрос и установка имени сервера, значение по умолчанию: fibjs/0.x.0.

1
String HttpsServer.serverName;

socket

Socket, сервер в данный момент прослушиваетSocketобъект

1
readonly Socket HttpsServer.socket;

handler

Handler, текущий объект интерфейса обработки событий сервера

1
Handler HttpsServer.handler;

функция-член

enableCrossOrigin

Разрешить междоменные запросы

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

Параметры звонка:

  • allowHeaders: строка, указанная для принятияhttpполе заголовка

start

Запустить текущий сервер

1
HttpsServer.start();

stop

Закройте сокет, чтобы прервать работающий сервер.

1
HttpsServer.stop() async;

toString

Возвращает строковое представление объекта. Обычно возвращается «[Native Object]». Объект может быть повторно реализован в соответствии с его собственными характеристиками.

1
String HttpsServer.toString();

Результаты возврата:

  • String, возвращает строковое представление объекта

toJSON

Возвращает представление объекта в формате JSON, обычно возвращая коллекцию читаемых свойств, определенных объектом.

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

Параметры звонка:

  • key: Строка, не используется.

Результаты возврата:

  • Value, возвращает значение, содержащее сериализуемый JSON