c# - Azure Keyvault 停止在 IIS 托管站点上工作

标签 c# azure iis azure-keyvault

您好,我有一个关于 Azure keyvault 和 IIS 的问题。所以我们的服务器提供商做了一个Windows补丁: 2021 年 4 月适用于基于 x64 的系统的 Windows Server 2016 累积更新 (KB5001347) 2021 年 4 月适用于基于 x64 的系统的 Windows Server 2016 服务堆栈更新 (KB5001402)

在此 Windows 补丁并重新启动服务器后,我们从 web.config 到 Azure 中的 keyvault 的获取停止工作。

当 IIS 启动我们的应用程序时,它找不到 Microsoft.Configuration.ConfigurationBuilders.Azure 即使 DLL 位于 bin 文件夹中。

另一件值得一提的重要事情是,我们的数据库连接字符串(位于其自己的文件 connectionstrings.config 中)与 Azure Keyvault 配合得很好。

同一台计算机上的 Windows 服务也可以与 Azure Keyvault 完美配合。

所以这个问题只影响我们 web.config 中的 appsettings 部分。 我们尝试将 bin 文件夹添加到 web.config 中的 privatePath,但这没有帮助

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <probing privatePath="bin;modulesbin"/>

这在我们的 STAGING 机器上效果很好,它具有相同的 Windows 更新并使用相同的配置。 有人知道我们接下来可以做什么吗? 我们正在使用什么:

System.Configuration.ConfigurationBuildersSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a

<configBuilders>
    <builders>
      <add name="AzureKeyVault" vaultName=somevaultname"
        type="Microsoft.Configuration.ConfigurationBuilders.AzureKeyVaultConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.Azure, Version=1.0.0.0, Culture=neutral"
        vaultUri="somevaulturi"/>
    </builders>
  </configBuilders>

感谢您的帮助

编辑: 我们现在已经安装了较新的 Azure dll。 在服务器上安装了 Azure CLI。 我们现在在环境变量中使用 AZURE_TENANT_ID、AZURE_CLIENT_SECRET、AZURE_CLIENT_ID 而不是 AzureServicesAuthConnectionString。

重新启动后,Web 应用程序、服务、连接字符串停止工作。 事件查看器中的错误消息: 异常消息:加载配置文件时发生错误:指定的用户没有有效的配置文件。无法加载“Microsoft.Configuration.ConfigurationBuilders.Azure”

在我们的舞台服务器上一切仍然按预期工作。

最佳答案

AZURE_TENANT_ID 已在管理员环境变量下正确添加 但在系统环境变量下,它添加了 AZURE_TENTANT_ID (太多了) 这样的错字。现在一切都好。

关于c# - Azure Keyvault 停止在 IIS 托管站点上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67225949/

相关文章:

c# - 如何在具有负值的 Chart.js 中的 Yaxis 上隐藏 0 值

c# - 当鼠标悬停在 DIV 上时,如何使某些控件可见并与 DIV 重叠?

Azure PHP Web 应用广告集成 请求中指定的回复 URL 不匹配

Azure 数据工厂 V2 - 无法将通配 rune 件名与动态内容文件路径组合。是否有 databricks (ADB) 解决方案或其他 ADF 解决方案?

iis - NsisIIS - 插件要求

internet-explorer - IE10&IE11上传失败不发送POST数据

IIS URL 重写 https 规则忽略 localhost

c# - 拉丁文、中文、西里尔文等的子字符串 UTF-8

c# - CommandText 中的文本长度是否有任何限制

azure - 如果用户已存在,Add-AzureADGroupMember 将失败。