После установки Reporting Services на
сервер и привязки web ресурса к протоколу SSL, где по умолчанию прописывается
сертификат сервера, сайт все еще считается не безопасным и не разрешенным.
Получается вроде сайт
безопасный, а браузер говорит нет:
Если сервер отчетов работает
только для сотрудников компании, ограниченному числу лиц, то это не проблема,
но если сервисом пользуются внешние сотрудники или данные ресурс используется
для официальных отчетов, то сервис должен быть оформлен в плане безопасности согласно
современным средствам, в том числе и доверительным сертификатом. А иногда
просто надоедает предупреждение браузера. Ниже описываю как это делается и
решение небольшой проблемы с которой столкнулся.
Итак, привязку к сертификату и
установка порта HHTPS
производится в Reporting Services Configuration Manager:
В HTTPS Certificate указываем
сертификат.
Для того чтобы сайт стал безопасным,
необходимо получить сертификат от доверительного центра сертификации. У меня все это проще было, необходимо было запросить сертификат у нашего отдела безопасности. Далее
этот сертификат устанавливается на сервер Reporting Services.
Запускается консоль mmc “Manager Computer Certificates” и добавляется
наш сертификат:
После этого снова запускаем “Reporting Services Configuration Manager”
и В HTTPS Certificate указываем наш сертификат. Нажимаем Apply и ожидаем Success результат.
После этого имеем доверенный
сервер отчетов:
Но, было бы так легко, не
описывал эту статью.
Дело в том, что после смены
сертификата с сертификата компьютера на безопасный сертификат, возникла ошибка:
An HTTPS binding already exists for the
specified IP address and port combination
Microsoft.ReportingServices.WmiProvider.WMIProviderException:
An SSL binding already exists for the specified IP address and port
combination. The existing binding uses a
different certificate from the current request. Only one certificate can be
used for each IP address and port combination. To correct the problem, either
use the same certificate as the existing binding, or remove the existing SSL
binding and create a new binding using the certificate of the current request.
Full error:
Microsoft.ReportingServices.WmiProvider.WMIProviderException:
An HTTPS binding already exists for the specified IP address and port
combination. The existing binding uses a
different certificate from the current request. Only one certificate can be
used for each IP address and port combination. To correct the problem, either
use the same certificate as the existing binding, or remove the existing SSL
binding and create a new binding using the certificate of the current request.
--->
System.Runtime.InteropServices.COMException: TabletPC inking error code. Queue
is full (Exception from HRESULT: 0x80040238)
---
End of inner exception stack trace ---
at
Microsoft.ReportingServices.WmiProvider.RSWmiAdmin.ThrowOnError(ManagementBaseObject
mo)
at
Microsoft.ReportingServices.WmiProvider.RSWmiAdmin.CreateSSLCertificateBinding(String
application, String certificateHash, String ipAddress, Int32 port)
at
ReportServicesConfigUI.WMIProvider.RSReportServerAdmin.CreateSSLCertificateBinding(UrlApplication
app, String certificateHash, String ipAddress, Int32 port)
т.е нельзя более одного
сертификата на указанный SSL порт.
Начал разбираться, нашел такое
решение:
через команду
netsh http delete sslcert
ipport=[::]:443
Команда успешно выполнялась, но
привязка сертификата не происходила.
Далее, обнаружил, что на сервере
стоит IIS и в нем так
же стоит привязка сертификата к SSL.
Через меню "Binding" в разделе "Actions" мы
удаляем указанный там сертификат:
И снова делает привязку
сертификата и запускаем “Reporting Services Configuration Manager”
и В HTTPS Certificate указываем наш сертификат. Нажимаем «Apply» и ожидаем Success результат.
В этот раз должно все выполниться
успешно.
Прекрасных отчетов Вам!
Документация:
https://blogs.msdn.microsoft.com/mariae/2007/12/12/ssl-configuration-and-reporting-services/
Комментариев нет :
Отправить комментарий