Я пытаюсь установить службу WCF для собственного хоста на сервере с Windows Server 2012. Я выполнял следующие действия:
- импорт моего файла pfx с помощью mmc
run "netsh http add sslcert ipport = 0.0.0.0: 49000 certhash = e09280ded2322eb858b38b3250e1a488f797b269 appid = {4dc3e181-e14b-4a21-b022-59fc669b0914}" 1000 ** start 1001 1001 1001 1008 ** 1001 1001 1001 1001 1001 1001 1008 1008 1008это
Сначала это работает хорошо.Но через несколько часов ssl вылетает, и я могу только получить сообщение об ошибке на клиенте, как показано ниже
Необработанное исключение типа 'System.ServiceModel.CommunicationException' произошло в mscorlib.dll.Дополнительная информация: Произошла ошибка при отправке HTTP-запроса на https://servername:49000/WCFServiceName. Это может быть связано с тем, что сертификат сервера не настроен должным образом с HTTP.SYS в случае HTTPS.Это также может быть вызвано несоответствием привязки безопасности между клиентом и сервером.
запустите "netsh http delete sslcert ipport = 0.0.0.0: 49000" и удалите импортированный pfx, а затем повторитешаги 1 и 2 могут заставить ssl работать снова, но проблема все равно появится через несколько часов.
Это определенно не проблема SecurityProtocol, поскольку я уже пытался добавить
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
перед запросом,И сервер, и клиент используют .Net Framework 4.5.2
Я попробовал "netsh http show sslcert" и получил следующий результат:
IP:port : 0.0.0.0:49000
Certificate Hash : e09280ded2322eb858b38b3250e1a488f797b269
Application ID : {4dc3e181-e14b-4a21-b022-59fc669b0914}
Certificate Store Name : My
Verify Client Certificate Revocation : Enabled
Verify Revocation Using Cached Client Certificate Only : Disabled
Usage Check : Enabled
Revocation Freshness Time : 0
URL Retrieval Timeout : 0
Ctl Identifier : (null)
Ctl Store Name : (null)
DS Mapper Usage : Disabled
Negotiate Client Certificate : Disabled
Я попытался удалить sslcertпривязка к порту 49000 и создала пустую привязку веб-сайта к порту 49000 в IIS, и тогда мой сервис прослушивает этот порт.Он работает в первый раз и длился около недели, прежде чем выскакивает та же ошибка.
Где мне начать искать и решить эту проблему?