У меня есть облачная служба (Classi c), работающая в Azure, в которой размещается служба WCF. В облачной службе настраивается несколько экземпляров с помощью функции масштабирования облачной службы. SSL-сертификат подстановочного знака был предоставлен через портал Azure и настроен в csdef / cscfg в соответствующем проекте Visual Studio Cloud. До недавнего времени все работало отлично, никаких проблем с сертификатами и т.д. c. произошло.
.csdef
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint2" endpointName="EndpointSSL" />
</Bindings>
</Site>
</Sites>
<Endpoints>
<InputEndpoint name="EndpointSSL" protocol="https" port="443" certificate="SSL" />
</Endpoints>
<Certificates>
<Certificate name="SSL" storeLocation="LocalMachine" storeName="My" />
</Certificates>
.cscfg
<Role name="FR">
<Instances count="3" />
<ConfigurationSettings>
<!-- Settings are set here -->
</ConfigurationSettings>
<Certificates>
<Certificate name="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption" thumbprint="THUMBPRINT_A" thumbprintAlgorithm="sha1" />
<Certificate name="SSL" thumbprint="THUMBPRINT_B" thumbprintAlgorithm="sha1" />
</Certificates>
</Role>
Сертификат устанавливается правильно, как вы можете видеть в окне управления сертификатами в windows. К сожалению, начиная с прошлой недели, при проверке сайта через SSL Labs (https://www.ssllabs.com/ssltest/) в итоговом отчете стали появляться два сертификата, один из которых недействителен, так как цепочка сертификатов, похоже, нарушена. Другие службы, использующие тот же сертификат Wildcard, не имеют этой проблемы.
Что мне известно об этой проблеме:
- Сертификат в хранилище сертификатов на одном из трех запущенных экземпляры не могут быть проверены самим windows.
- В двух других экземплярах сертификат правильный и может быть проверен с помощью windows
- Экземпляр с недействительным сертификатом не имеет соответствующий root CA в хранилище «Доверенные Root CA» в windows.
- Повторное развертывание, повторное создание образа, перезапуск и т. д. c. не помогает. Это может просто перенести проблему из одного экземпляра в другой. До сих пор затрагивался только один экземпляр.
- Никаких изменений вручную не производилось, и в последнее время не применялось новое развертывание. Это просто начало происходить неожиданно
Есть ли у кого-нибудь идеи, в чем может быть проблема? Я также начал тикет в службу поддержки Microsoft, но пока они тоже ничего не понимают. Существуют ли какие-либо настройки, которые я мог бы попробовать при развертывании, которые заставляют сертификаты проверяться при развертывании? Или есть ли возможность получить недостающий Root CA из кода при запуске (поскольку я подозреваю, что это может быть проблемой, почему он не может быть проверен на одном экземпляре)?