Настройка HTTPS

Материал из DPA
Перейти к навигации Перейти к поиску

Есть множество вариантов сертификатов и способов их получения. Во всех случаях соединение будет зашифровано, но в некоторых случаях браузер будет предупреждать, что соединение не безопасно. Вот несколько из них:

  • Самозаверенный сертификат. Это самый простой и быстрый способ создать/установить сертификат. Но в этом случае все браузеры точно будут сообщать о том, что соединение не безопасно. Создать его можно с помощью команды 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)
  • Обратиться в один из центров сертификации и получить "зеленый" сертификат. Будет работать корректно и без предупреждений во всех браузерах.


Перед созданием сертификата необходимо решить: будет ли доступен сайт извне или только внутри локальной сети и под какими dns именами, т.к. сертификат жестко привязан к dns имени.

После того, как сертификат установлен необходимо:

  1. Найти сертификат в консоли управления MMC и запомнить его отпечаток:
    • win+R
    • mmc
    • Файл -> Добавить или удалить оснастку.
    • Выбрать "Сертификаты" и нажать кнопку добавить.
    • Выбрать учетную запись компьютера и нажать далее.
    • Выбрать локальный компьютер и нажать далее.
    • Найти нужный сертификат и дважды щелкнуть по нему.
    • Перейти на вкладку "Состав".
    • Найти в списке поле "Отпечатки", щелкнуть его.
    • Скопировать шестнадцатеричные значения из текстового поля - без пробелов!
  2. Выполнить привязку 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”
  3. Настроить службу 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