2013-04-15 2 views
2

У меня есть служба WCF, которая в настоящее время размещается на двух серверах за NLB. Два адреса сервера (например): t001.mydomain.com и t002.mydomain.com, а адрес NLB - services.mydomain.com. Оба t001 и t002 имеют сертификат SSL для services.mydomain.comСлужба WCF с NLB

Мы переехали несколько ASMX услуг новой WCF модели. Когда я впервые разместил сервисы на обоих серверах, у меня возникла проблема с использованием WSDL. Одна служба работала, но другие дали мне ошибку, что они не смогли создать безопасное соединение, поскольку сертификат был недействительным.

Я помещал URL-адреса в Chrome, и я заметил, что служба, которая работала, имела URI WSDL: http://services.mydomain.com/services/service1.svc, а службы, которые не работали, имели URI http://t001.mydomain.com/services/service2.svc. Поэтому я понимаю, почему сертификат недействителен для этих служб.

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

<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />

Теперь я понять, почему это работает. Я знаю его решения, но я не знаю, является ли это решением моей проблемы.

Разве это вокруг этой проблемы? Есть ли лучший/более рекомендуемый способ обойти это? Может быть, кто-то может указать мне на авторитетный источник, объясняющий это, так как я не мог найти его.

ответ

2

Это не сработало, потому что cert. Часть домена отличается. См.

Что касается имен хостов - некоторые системы не будут работать должным образом, если вы не используете полное доменное имя. Другие не так придирчивы. В любом случае - DN субъекта сертификата должен однозначно описывать услугу, приложение или сервер, которые он представляет.

С этого поста Mutual WCF certificate authentication/SSL in cluster environment

Более подробную информацию можно найти здесь: http://technet.microsoft.com/en-us/library/dd439393(v=exchg.80).aspx

Смежные вопросы