4

我已经在 Azure 中成功设置了文件共享(通过存储帐户)......然后在该订阅中的 VM 上,我已成功将驱动器安装到文件共享(下例中的 M 驱动器)。这工作正常。接下来,我将证书上传到 azure 文件共享。该证书通过 Windows 资源管理器在 VM 中明显可用。然后我尝试设置 IIS 集中证书以从我安装的 M 驱动器中读取证书。IIS 对此并不满意。

同样,我可以毫无问题地从我的 VM 访问已安装的驱动器...但是在设置中央证书位置时,IIS 将不允许使用此已安装的驱动器。IIS 需要共享的用户名和密码,并且不会接受本地用户或文件存储的用户/密钥凭据(尽管两者都不是必需的,因为共享连接本身包含连接用户和密钥)。IIS 的此功能似乎与 Azure 文件共享不兼容。有没有办法使这项工作?

在此处输入图像描述

4

1 回答 1

1

有一种方法!

您需要使用存储帐户的用户名/密码(名称/密钥)设置本地计算机帐户,您将在配置中将其用作用户名/密码。您需要提供 Path 作为文件共享的 UNC 路径。

但是,这不起作用,因为 GUI 不接受路径,因此您可以通过 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 内容,因为连接重置。

微软无法解释原因。

于 2016-10-13T12:59:47.700 回答