Как настроить обратный прокси-сервер https для нескольких серверов nodejs-https на одном компьютере (несколько доменов и сертификатов, один VPS и IP) - PullRequest
2 голосов
/ 31 мая 2011

В настоящее время у нас около 10 клиентских веб-сайтов и веб-систем на одном VPS. Все они имеют один и тот же IP-адрес.

Мы создали нашу собственную прокси-логику в nodejs, используя node-http-proxy, и она соответствует домену и переходит либо к узлам-http-серверам на разных портах для разных сайтов, либо к apache, если нет nodejs -сервис настроен для определенного пути. Некоторое время это работало нормально.

Сейчас мы осуществляем оплату кредитной картой для одного из клиентов и нуждаемся в https-соединении. Я перекодировал прокси для обработки https, и он работает. НО, мы не хотим использовать сертификат клиента на прокси. Когда сайт других клиентов нуждается в https-соединениях, мы хотим, чтобы это работало.

Можно ли настроить обратный прокси-узел nodejs, который передает https-запрос без его «сертификации», чтобы принимающий узел-https-сервер «его сертифицировал»?

Или какой-нибудь другой обратный прокси-сервер, если это невозможно сделать с помощью nodejs, до нашего?

1 Ответ

3 голосов
/ 31 мая 2011

То есть, в основном, вы хотите, чтобы несколько HTTPS-сайтов размещались под одним и тем же IP-адресом под nodejs, верно?

Если это так ... вы можете рассмотреть, прежде всего, совместимость: (насколько я знаю) несколько сертификатов HTTPS могут находиться на одном IP ТОЛЬКО ЕСЛИ КЛИЕНТА ТАКЖЕ ПОДДЕРЖИВАЕТ SNI (подробнее @ https://sni.velox.ch/,, и я имел в виду, конечно, сертификаты разных доменов, а не сертификаты с подстановочными знаками для поддоменов).

Ограничение, налагаемое "традиционным" HTTPS, возрастает из-за функции: шифрование начинается раньше (раньше, чем отправка серверу того имени хоста, к которому вы пытались получить доступ, поэтому традиционный сервер - тот без SNI - не знает, какой сертификат предоставлять ). Хотя это безопасно и очень широко поддерживается в браузерах, оно заставляет вас покупать / арендовать новый IP-адрес для каждого из размещенных на HTTPS веб-сайтов.

...