tls.Server.addContext для добавления контекста SNI не работает должным образом при использовании кластеров - PullRequest
0 голосов
/ 29 августа 2018

Я пишу HTTPS-посредник «посредник» и хочу включить SNI, чтобы мне не нужно было создавать новый сервер для каждого хоста. Для балансировки нагрузки я использую модуль узла cluster, чтобы использовать тот же сервер. Прокси-сервер используется экземпляром Chrome.

Если я создаю сервер в некластеризованном процессе, я могу использовать tls.Server.addContext, чтобы добавить дополнительные контексты SNI к серверу и позволить ему обслуживать запросы HTTPS, предназначенные для разных хостов. Однако в процессе, созданном cluster.fork, это не работает. Когда я пытаюсь подключить Chrome к этому прокси-серверу, он откажется принимать соединения, указав следующие причины:

net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH

net::ERR_SSL_VERSION_INTERFERENCE

Я на самом деле использую настроенную версию this . Код очень похож.

В кластерном процессе использование addContext, похоже, вообще ничего не делает.

...