Настройка HTTPS
Версия от 01:00, 27 января 2021; Pavel.Belov (обсуждение | вклад)
Есть множество вариантов сертификатов и способов их получения. Во всех случаях соединение будет зашифровано, но в некоторых случаях браузер будет предупреждать, что соединение не безопасно. Вот несколько из них:
- Самозаверенный сертификат. Это самый простой и быстрый способ создать/установить сертификат. Но в этом случае все браузеры точно будут сообщать о том, что соединение не безопасно. Создать его можно с помощью команды PowerShell:
New-SelfSignedCertificate -DnsName dnsName -CertStoreLocation cert:\LocalMachine\My
где dnsName - имя компьютера на котором будет развернут сайт DPA - имя, по которому на него будут заходить в браузере.
- Можно создать сертификат, подписанный с помощью корневого сертификата контроллера домена. В этом случае IE будет принимать этот сертификат без предупреждений, другие браузеры будут выдавать предупреждение. И это только на компьютерах, включенных в домен. На всех остальных компьютерах браузер всегда будет предупреждать о небезопасности подключения. Инструкция от Microsoft: https://docs.microsoft.com/en-us/previous-versions/system-center/operations-manager-2007-r2/dd362553(v=technet.10)
- Обратиться в один из центров сертификации и получить "зеленый" сертификат. Будет работать корректно и без предупреждений во всех браузерах. LetsEncrypt
Перед созданием сертификата необходимо решить: будет ли доступен сайт извне или только внутри локальной сети и под какими dns именами, т.к. сертификат жестко привязан к dns имени.
После того, как сертификат установлен необходимо:
- Найти сертификат в консоли управления MMC и запомнить его отпечаток:
- win+R
- mmc
- Файл -> Добавить или удалить оснастку.
- Выбрать "Сертификаты" и нажать кнопку добавить.
- Выбрать учетную запись компьютера и нажать далее.
- Выбрать локальный компьютер и нажать далее.
- Найти нужный сертификат и дважды щелкнуть по нему.
- Перейти на вкладку "Состав".
- Найти в списке поле "Отпечатки", щелкнуть его.
- Скопировать шестнадцатеричные значения из текстового поля - без пробелов!
- Выполнить привязку SSL-сертификата к номеру порта:
- Запустить консоль с привилегией администратора.
- Выполнить команду:
netsh http add sslcert ipport=0.0.0.0:443 certhash=отпечаток appid={9b370ac4-e875-4a1f-bc11-5c0a39cc4768}
где "отпечаток" - шестнадцатеричные значения из предыдущего пункта. - Выполнить команду:
netsh http add urlacl url=https://*:443/ user=”NT AUTHORITY\SYSTEM”
- Настроить службу DPA Host (пробел после binPath= важен)
либо удалив и создав заново:
sc stop DPAHost sc delete DPAHost sc create DPAHost binPath= "C:\Program Files\X-tensive\DPA Host\Xtensive.DPA.Web.exe https://*:443" start= auto sc start DPAHost
либо без удаления, командой изменения бинарника:
sc stop DPAHost sc config dpahost binPath= "C:\Program Files\X-tensive\DPA Host\Xtensive.DPA.Web https://*:443" sc start DPAHost