Использование централизованного хранилища сертификатов IIS с общей папкой Azure
Я успешно настроил общий файловый ресурс (через учетную запись хранения) в Azure... и затем на виртуальной машине в этой подписке я успешно подключил диск к файловому ресурсу (диск M в примере ниже). Это отлично работает. Затем я загружаю сертификат в общую папку Azure. Сертификат явно доступен в виртуальной машине через проводник Windows. Затем я пытаюсь настроить централизованные сертификаты IIS для чтения сертификата с диска M, который я смонтировал. IIS не рад этому.
Опять же, я могу без проблем получить доступ к смонтированному диску с моей виртуальной машины... но при настройке Центрального расположения сертификатов IIS не позволяет использовать этот смонтированный диск. IIS требует имя пользователя и пароль для общего ресурса и не будет принимать ни локального пользователя, ни учетные данные пользователя / ключа хранилища файлов (хотя ни одно из них не требуется, так как само подключение общего ресурса содержит пользователя и ключ подключения). Похоже, что эта функция IIS несовместима с общей папкой Azure. Есть ли способ сделать эту работу?
1 ответ
Есть выход!
Вам необходимо настроить учетную запись локального компьютера с именем пользователя / паролем учетной записи хранения (имя / ключ), которую вы будете использовать в качестве имени пользователя / пароля в конфигурации. Вам необходимо указать путь в качестве UNC-пути к общей папке.
Однако это не будет работать, поскольку графический интерфейс не принимает путь, поэтому вы можете сделать это через Powershell, задав путь к локальному пути, а затем изменив его в реестре:
param
(
[Parameter(Mandatory = $true)]
[string] $StorageAccountName,
[Parameter(Mandatory = $true)]
[string] $StorageAccountPassword,
[Parameter(Mandatory = $true)]
[string] $FileShareName,
[Parameter(Mandatory = $true)]
[string] $CertificatePrivateKeyPassword
)
net localgroup Administrators $StorageAccountName /add
Enable-WebCentralCertProvider -CertStoreLocation "C:\Windows\Temp" -UserName $StorageAccountName -Password $StorageAccountPassword -PrivateKeyPassword $CertificatePrivateKeyPassword
Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\IIS\CentralCertProvider -Name CertStoreLocation -Value "\\$StorageAccountName.file.core.windows.net\$FileShareName"
net localgroup Administrators $StorageAccountName /delete
Это позволит этой функции работать, но вы обнаружите, что только первая виртуальная машина / сервер, которая загрузит / получит доступ к сертификату из хранилища, сможет использовать его, а другие машины не смогут обслуживать содержимое https из-за сброс соединения.
Microsoft не смогла объяснить, почему.