azure - 将 IIS 集中证书存储与 Azure 文件共享结合使用

标签 azure iis iis-8 azure-files

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

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

enter image description here

最佳答案

有办法!

您需要使用存储帐户的用户名/密码(名称/ key )设置本地计算机帐户,您将在配置中将其用作用户名/密码。 您需要提供路径作为文件共享的 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 内容由于连接重置。

微软无法解释原因。

关于azure - 将 IIS 集中证书存储与 Azure 文件共享结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38211401/

相关文章:

在 example.com 上没有有效证书的情况下,从 https ://example. com 重定向到 https ://www. example.com

asp.net - IIS https 绑定(bind)有时会消失

javascript - Firebase javascript后台服务 worker 通知图标不显示

Azure Active Directory B2C 限制从其他设备登录

C# Azure - 从 Microsoft.Azure.Cosmos.Table 移动到 Azure.Data.Tables 后找不到指定的资源

asp.net - SignalR/signalr/hubs 404 未找到

css - 字体在 IIS 8.0 中不工作

css - 资源解释为样式表但使用 MIME 类型 text/html (IIS) 传输

node.js - 如何使用 Axios 通过 Node js API 获取 Azure 访问 token

azure - 启动 Azure VM 指定时间