Обновлено 10.07.2020
Добрый день! Уважаемые читатели и гости одного из крупнейших IT порталов России Pyatilistnik.org. В прошлый раз мы с вами научились восстанавливать библиотеку vcruntime140_1.dll в Windows и тем самым восстановили работу ряда приложений. В сегодняшней публикации я рассмотрю ситуацию, когда у вас не отвечает и не работает сайт RDWeb на вашей терминальной ферме. Думаю это будет интересный момент для начинающих системных администраторов.
Описание ситуации
И так обо всем по порядку. Не так давно я установил отказоустойчивую службу Remote Desktop Services High Availability на Windows Server 2019. Сама RDS ферма работала корректно, но вот при попытке войти на сайт RDWeb, где были опубликованы приложения RemoteApp я получил ошибку:
Не удалось получить доступ к сайту ERROR_CONNECTION_RESET
Если я пытался локально открыть сайт с самого IIS, то ошибка звучала уже вот так:
Этот сайт не может обеспечить безопасное соединение: ERR_SSL_PROTOCOL_ERROR
Решение проблемы
Первое, что нужно всегда делать, это просматривать ошибки связанные с данной службой. Посмотреть логи можно в просмотре событий или же через веб-службу Windows Admin Center, при ее наличии в сети. Мои журналы были забиты ошибками:
Код события ID 15021: Произошла ошибка при использовании SSL-конфигурации для конечной точки 0.0.0.0:443. Код состояния ошибки содержится в возвращенных данных.
Видя такое безобразие нужно пойти посмотреть, что у нас творится на веб-сервере. Откройте оснастку IIS и щелкните правым кликом по вашему сайту. Из контекстного меню выберите пункт «Изменить Привязки».
Далее откройте раздел с 443 портом и посмотрите, присутствует ли у вас тут сертификат безопасности. Как видите его нет, поэтому вы и видите ошибки при доступе к странице RDWeb.
Тут у вас есть ряд вариантов для выхода из данной ситуации:
- Если у вас есть домен Active Directory, то с большой вероятностью у вас должен быть центр сертификации, если нет, то нужно завести. Он выпустит сертификат для IIS
- Второй вариант, это сформировать CSR запрос и отправить его на покупку публичного сертификата для сайта
- Третий вариант, это выпустить публичный, бесплатный сертификат от Lets’Encrypt
- Последний вариант, это самим сформировать самоподписный сертификат. Он в принципе уже должен быть, но по какой-то причине при установке IIS он не был сформирован.
Я для своего тестового окружения выберу пока четвертый вариант, я потом установлю Wildcard SSL сертификат. Выберите корень в IIS и найдите пункт «Сертификаты сервера»
Выберите пункт «Создать самозаверенный сертификат».
Задаем ему любое имя нужное для вас, я сделаю rdsh03.root.pyatilistnik.org и поместим его в нужное вам хранилище.
В итоге ваш новый сертификат будет в списке.
Производим привязку нового сертификата к вашему сайту RDWeb.
Рекомендую произвести перезапуск сайта на котором вы установили сертификат.
В результате все прекрасно открылось и заработало, можно запускать RemoteApp.
На этом у меня все, мы устранили ошибку «Код события ID 15021: Произошла ошибка при использовании SSL-конфигурации для конечной точки 0.0.0.0:443. Код состояния ошибки содержится в возвращенных данных». С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
- Remove From My Forums
-
Вопрос
-
Всем привет! Перестали открываться owa, ecp, oab. В логах
В dcdiag так же проблема сертификатом 0.0.0.0:443
Я так понимаю проблема с ssl сертификатом. Пытался сделать как в этой статье http://technet.microsoft.com/en-us/library/cc727844(v=WS.10).aspx
Удалил сертификат 0.0.0.0:443, перезагрузил сервер, делаю netsh http add
sslcert ipport=0.0.0.0:443 пишет, что проверьте синтаксис один или несколько параметров не указаны. Помогите разобраться, как правильно испаравить проблему с сертификатами.
Ответы
-
Enable-ExchangeCertificate -Thumbprint "thumbprint вашего сертификата" -Services POP,IMAP,SMTP,IIS
Thumbrint можно взять из свойств:
-
Предложено в качестве ответа
15 апреля 2014 г. 14:52
-
Помечено в качестве ответа
Petko KrushevMicrosoft contingent staff, Moderator
21 апреля 2014 г. 7:14
-
Предложено в качестве ответа
-
Спасибо большое! Переустановил сертификат на 0.0.0.0:443, все заработало! Ура!
-
Помечено в качестве ответа
Petko KrushevMicrosoft contingent staff, Moderator
21 апреля 2014 г. 7:14
-
Помечено в качестве ответа
Перейти к контенту
- Remove From My Forums
-
Question
-
—
<Event xmlns=»http://schemas.microsoft.com/win/2004/08/events/event«>—
<System><Provider Name=»Microsoft-Windows-HttpEvent« Guid=»{7b6bc78c-898b-4170-bbf8-1a469ea43fc5}«
EventSourceName=»HTTP« /><EventID Qualifiers=»49152«>15021</EventID>
<Keywords>0x80000000000000</Keywords>
<TimeCreated
SystemTime=»2017-11-10T17:48:18.826603600Z« /><EventRecordID>12548492</EventRecordID>
<Execution ProcessID=»4« ThreadID=»26224« />
<Channel>System</Channel>
<Computer>ex01.metro.net.bd</Computer>
</System>
—
<EventData><Data Name=»DeviceObject«>DeviceHttpReqQueue</Data>
<Data Name=»Endpoint«>[::]:443</Data>
<Binary>000004000200300000000000AD3A00C00000000000000000000000000000000000000000000000005F0000C0</Binary>
</EventData>
</Event>
Md. Ramin Hossain
- Remove From My Forums
-
Question
-
—
<Event xmlns=»http://schemas.microsoft.com/win/2004/08/events/event«>—
<System><Provider Name=»Microsoft-Windows-HttpEvent« Guid=»{7b6bc78c-898b-4170-bbf8-1a469ea43fc5}«
EventSourceName=»HTTP« /><EventID Qualifiers=»49152«>15021</EventID>
<Keywords>0x80000000000000</Keywords>
<TimeCreated
SystemTime=»2017-11-10T17:48:18.826603600Z« /><EventRecordID>12548492</EventRecordID>
<Execution ProcessID=»4« ThreadID=»26224« />
<Channel>System</Channel>
<Computer>ex01.metro.net.bd</Computer>
</System>
—
<EventData><Data Name=»DeviceObject«>DeviceHttpReqQueue</Data>
<Data Name=»Endpoint«>[::]:443</Data>
<Binary>000004000200300000000000AD3A00C00000000000000000000000000000000000000000000000005F0000C0</Binary>
</EventData>
</Event>
Md. Ramin Hossain
- Remove From My Forums
-
Вопрос
-
Всем привет! Перестали открываться owa, ecp, oab. В логах
В dcdiag так же проблема сертификатом 0.0.0.0:443
Я так понимаю проблема с ssl сертификатом. Пытался сделать как в этой статье http://technet.microsoft.com/en-us/library/cc727844(v=WS.10).aspx
Удалил сертификат 0.0.0.0:443, перезагрузил сервер, делаю netsh http add
sslcert ipport=0.0.0.0:443 пишет, что проверьте синтаксис один или несколько параметров не указаны. Помогите разобраться, как правильно испаравить проблему с сертификатами.
Ответы
-
Enable-ExchangeCertificate -Thumbprint "thumbprint вашего сертификата" -Services POP,IMAP,SMTP,IIS
Thumbrint можно взять из свойств:
- Предложено в качестве ответа
15 апреля 2014 г. 14:52
- Помечено в качестве ответа
Petko KrushevMicrosoft contingent staff, Moderator
21 апреля 2014 г. 7:14
- Предложено в качестве ответа
-
Спасибо большое! Переустановил сертификат на 0.0.0.0:443, все заработало! Ура!
- Помечено в качестве ответа
Petko KrushevMicrosoft contingent staff, Moderator
21 апреля 2014 г. 7:14
- Помечено в качестве ответа
Обновлено 10.07.2020
Добрый день! Уважаемые читатели и гости одного из крупнейших IT порталов России Pyatilistnik.org. В прошлый раз мы с вами научились восстанавливать библиотеку vcruntime140_1.dll в Windows и тем самым восстановили работу ряда приложений. В сегодняшней публикации я рассмотрю ситуацию, когда у вас не отвечает и не работает сайт RDWeb на вашей терминальной ферме. Думаю это будет интересный момент для начинающих системных администраторов.
Описание ситуации
И так обо всем по порядку. Не так давно я установил отказоустойчивую службу Remote Desktop Services High Availability на Windows Server 2019. Сама RDS ферма работала корректно, но вот при попытке войти на сайт RDWeb, где были опубликованы приложения RemoteApp я получил ошибку:
Не удалось получить доступ к сайту ERROR_CONNECTION_RESET
Если я пытался локально открыть сайт с самого IIS, то ошибка звучала уже вот так:
Этот сайт не может обеспечить безопасное соединение: ERR_SSL_PROTOCOL_ERROR
Решение проблемы
Первое, что нужно всегда делать, это просматривать ошибки связанные с данной службой. Посмотреть логи можно в просмотре событий или же через веб-службу Windows Admin Center, при ее наличии в сети. Мои журналы были забиты ошибками:
Код события ID 15021: Произошла ошибка при использовании SSL-конфигурации для конечной точки 0.0.0.0:443. Код состояния ошибки содержится в возвращенных данных.
Видя такое безобразие нужно пойти посмотреть, что у нас творится на веб-сервере. Откройте оснастку IIS и щелкните правым кликом по вашему сайту. Из контекстного меню выберите пункт «Изменить Привязки».
Далее откройте раздел с 443 портом и посмотрите, присутствует ли у вас тут сертификат безопасности. Как видите его нет, поэтому вы и видите ошибки при доступе к странице RDWeb.
Тут у вас есть ряд вариантов для выхода из данной ситуации:
- Если у вас есть домен Active Directory, то с большой вероятностью у вас должен быть центр сертификации, если нет, то нужно завести. Он выпустит сертификат для IIS
- Второй вариант, это сформировать CSR запрос и отправить его на покупку публичного сертификата для сайта
- Третий вариант, это выпустить публичный, бесплатный сертификат от Lets’Encrypt
- Последний вариант, это самим сформировать самоподписный сертификат. Он в принципе уже должен быть, но по какой-то причине при установке IIS он не был сформирован.
Я для своего тестового окружения выберу пока четвертый вариант, я потом установлю Wildcard SSL сертификат. Выберите корень в IIS и найдите пункт «Сертификаты сервера»
Выберите пункт «Создать самозаверенный сертификат».
Задаем ему любое имя нужное для вас, я сделаю rdsh03.root.pyatilistnik.org и поместим его в нужное вам хранилище.
В итоге ваш новый сертификат будет в списке.
Производим привязку нового сертификата к вашему сайту RDWeb.
Рекомендую произвести перезапуск сайта на котором вы установили сертификат.
В результате все прекрасно открылось и заработало, можно запускать RemoteApp.
На этом у меня все, мы устранили ошибку «Код события ID 15021: Произошла ошибка при использовании SSL-конфигурации для конечной точки 0.0.0.0:443. Код состояния ошибки содержится в возвращенных данных». С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Перезагрузили сервер с Exchange и после получили неработающую систему с ошибками в Event Viewer
An error occurred while using SSL configuration for endpoint 0.0.0.0:444. The error status code is contained within the returned data.
Расскажем как быстро решить данную проблему
Причина
Ошибка является следствием того, что кем-то был удалён самоподписанный сертификат Exchange. После удаления сервер не был перезагружен до текущего момента или не был перезапущен IIS. Без сертификата backend Exchange не работает: нет возможности соединяться компонентам между друг другом.
Отследить какой сертификат по отпечатку был удален и поискать его в своих закрамах можно с помощью комманды netsh http show sslcert
[PS] C:Windowssystem32>netsh http show sslcert IP:port : 0.0.0.0:444 Certificate Hash : 435f2be4272fdf2d29809977ef5872d4c7df02fd 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 Reject Connections : Disabled Disable HTTP2 : Not Set
Если закромах удаленного сертификата нет, то нужно выбрать имеющийся сертификат или создать новый, страшного в этом ничего нет.
- Заходим в IIS — Exchange Backend — Bindings…
- В окне выбрать Binding https с портом 444 и нажать Edit
- Выбрать сертификат, например «Microsoft Exchange Server Auth Certificate». Для интерконекта сертификат может быть любой валидный.
- Перезапустить IIS
- Remove From My Forums
-
Question
-
—
<Event xmlns=»http://schemas.microsoft.com/win/2004/08/events/event«>—
<System><Provider Name=»Microsoft-Windows-HttpEvent« Guid=»{7b6bc78c-898b-4170-bbf8-1a469ea43fc5}«
EventSourceName=»HTTP« /><EventID Qualifiers=»49152«>15021</EventID>
<Keywords>0x80000000000000</Keywords>
<TimeCreated
SystemTime=»2017-11-10T17:48:18.826603600Z« /><EventRecordID>12548492</EventRecordID>
<Execution ProcessID=»4« ThreadID=»26224« />
<Channel>System</Channel>
<Computer>ex01.metro.net.bd</Computer>
</System>
—
<EventData><Data Name=»DeviceObject«>DeviceHttpReqQueue</Data>
<Data Name=»Endpoint«>[::]:443</Data>
<Binary>000004000200300000000000AD3A00C00000000000000000000000000000000000000000000000005F0000C0</Binary>
</EventData>
</Event>
Md. Ramin Hossain
- Remove From My Forums
-
Question
-
—
<Event xmlns=»http://schemas.microsoft.com/win/2004/08/events/event«>—
<System><Provider Name=»Microsoft-Windows-HttpEvent« Guid=»{7b6bc78c-898b-4170-bbf8-1a469ea43fc5}«
EventSourceName=»HTTP« /><EventID Qualifiers=»49152«>15021</EventID>
<Keywords>0x80000000000000</Keywords>
<TimeCreated
SystemTime=»2017-11-10T17:48:18.826603600Z« /><EventRecordID>12548492</EventRecordID>
<Execution ProcessID=»4« ThreadID=»26224« />
<Channel>System</Channel>
<Computer>ex01.metro.net.bd</Computer>
</System>
—
<EventData><Data Name=»DeviceObject«>DeviceHttpReqQueue</Data>
<Data Name=»Endpoint«>[::]:443</Data>
<Binary>000004000200300000000000AD3A00C00000000000000000000000000000000000000000000000005F0000C0</Binary>
</EventData>
</Event>
Md. Ramin Hossain
Перезагрузили сервер с Exchange и после получили неработающую систему с ошибками в Event Viewer
An error occurred while using SSL configuration for endpoint 0.0.0.0:444. The error status code is contained within the returned data.
Расскажем как быстро решить данную проблему
Причина
Ошибка является следствием того, что кем-то был удалён самоподписанный сертификат Exchange. После удаления сервер не был перезагружен до текущего момента или не был перезапущен IIS. Без сертификата backend Exchange не работает: нет возможности соединяться компонентам между друг другом.
Отследить какой сертификат по отпечатку был удален и поискать его в своих закрамах можно с помощью комманды netsh http show sslcert
[PS] C:Windowssystem32>netsh http show sslcert IP:port : 0.0.0.0:444 Certificate Hash : 435f2be4272fdf2d29809977ef5872d4c7df02fd 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 Reject Connections : Disabled Disable HTTP2 : Not Set
Если закромах удаленного сертификата нет, то нужно выбрать имеющийся сертификат или создать новый, страшного в этом ничего нет.
- Заходим в IIS — Exchange Backend — Bindings…
- В окне выбрать Binding https с портом 444 и нажать Edit
- Выбрать сертификат, например «Microsoft Exchange Server Auth Certificate». Для интерконекта сертификат может быть любой валидный.
- Перезапустить IIS
Выполните следующую команду в командной строке с повышенными привилегиями и проверьте конфигурацию на стороне AD FS.
netsh http sh sslcert
Вы увидите несколько конечных точек и сертификаты, связанные с каждым. AD FS использует привязки на основе имен, поэтому по умолчанию не будет создавать их для 0.0.0.0:443 . Если у вас нет IIS или вы не выполняли свои собственные привязки для http.sys, они бы там не появлялись.
Я ожидаю, что у вас есть старый сертификат, на который ссылается 0.0.0.0:443 . Это предположение, основанное на доступных данных.
Вам следует выполнить трассировку сети и посмотреть при запуске службы WAP, успешно ли установлен сеанс TLS для AD FS.