Проблема с SelfSSL — 2 безопасных сайта работают на одном компьютере с сертификатами selfssl

Я немного рву на себе волосы из-за проблемы, которая возникла на одном из наших серверов среды проекта. Я пытаюсь запустить 2 разные версии нашего сайта из 2 разных кодовых баз. На сайте есть безопасная и небезопасная зона.

Я могу, как и ожидалось, создать столько незащищенных сайтов, сколько захочу.

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

Я создал сертификаты, используя SelfSSL для каждого сайта. Каждый сайт, как и следовало ожидать, находится на своем порту, 443 и 444 соответственно.

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

Какие-либо предложения?

Пример использования моей команды SelfSSL находится здесь:

C:\Program Files\IIS Resources\SelfSSL>selfssl /T /V:600 /S:162950877 /P:444 /N:
CN=SITEREFRESH

Сервер работает под управлением Windows Server 2003, поэтому я думаю, что это будет IIS5.

Бен


person benwebdev    schedule 13.07.2010    source источник


Ответы (3)


Я знаю, что это старый вопрос, но не так давно у меня возникла такая же проблема, и я решил опубликовать, как я решил проблему. Начнем с того, что это очень старая проблема: https://blogs.msdn.microsoft.com/david.wang/2005/04/20/bug-selfssl-allows-only-one-website-to-have-ssl-at-a-time/

После множества проб и ошибок кажется, что если привязки уже существуют до запуска selfssl, то сертификаты будут работать с этими привязками. Например:

appcmd set site "[site-name]" /+bindings.[protocol='https',bindingInformation='*:44302:']
selfssl /N:CN="[cert name]" /S:[site_id] /P:44302 /Q /T

appcmd set site "[other-site-name]" /+bindings.[protocol='https',bindingInformation='*:44301:']
selfssl /N:CN="[other cert name]" /S:[site_id] /P:44301 /Q /T

Это создаст две привязки на разных сайтах, которые оба работают (https://[site-name]:44301 и https://[имя-другого-сайта]:44302). Похоже, что selfssl не будет создавать и подписывать несколько привязок, он будет подписывать только несколько привязок.

PS. См. appcmd docs для получения дополнительной информации, если вы хотите узнать больше об этом инструменте.

person Airistotal    schedule 09.01.2019

Почему бы не использовать один и тот же сертификат на обоих сайтах? Любой SSL-сертификат предназначен для идентификации хоста (сервера), а не подэкземпляров сервера, работающих на разных портах (но с одним и тем же именем хоста/полным доменным именем).

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

person ParanoidMike    schedule 27.10.2010

см.... http://www.eggheadcafe.com/software/aspnet/34129057/iis6-multiple-web-sites-with-ssl-Differentiate-by-host-header.aspx

.. для возможного исправления

person Fergal O'Connor    schedule 31.03.2011