[ASP.Net Core 3.1在Azure App Service上加载Azure密钥保管库错误

问题描述 投票:0回答:1

我使用ASP.Net Core 3.1,并将其部署在Linux上的Azure App Service(Web)上。

问题是,当我在Azure App Service上部署代码时,出现错误消息:

Unhandled exception. System.UriFormatException: Invalid URI: The hostname could not be parsed.
        at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)
        at System.Uri..ctor(String uriString)
        at Microsoft.Azure.KeyVault.KeyVaultClient.GetSecretsWithHttpMessagesAsync(String vaultBaseUrl, Nullable`1 maxresults, Dictionary`2 customHeaders, CancellationToken cancellationToken)
        at Microsoft.Azure.KeyVault.KeyVaultClientExtensions.GetSecretsAsync(IKeyVaultClient operations, String vaultBaseUrl, Nullable`1 maxresults, CancellationToken cancellationToken)
        at Microsoft.Extensions.Configuration.AzureKeyVault.AzureKeyVaultConfigurationProvider.LoadAsync()
        at Microsoft.Extensions.Configuration.AzureKeyVault.AzureKeyVaultConfigurationProvider.Load()
        at Microsoft.Extensions.Configuration.ConfigurationRoot..ctor(IList`1 providers)
        at Microsoft.Extensions.Configuration.ConfigurationBuilder.Build()
        at Microsoft.Extensions.Hosting.HostBuilder.BuildAppConfiguration()
        at Microsoft.Extensions.Hosting.HostBuilder.Build()
        at ZHFSoftware.Program.Main(String[] args) in / home / runner / work / ZHFSoftware / ZHFSoftware / ZHFSoftware / Program.cs:line 19
        ptrace(ATTACH, 29) FAILED Operation not permitted

我知道这与PERMISSION错误有关。当我运行网络时,

    :( Application Error
If you are the application administrator, you can access the diagnostic resources.

我可以在DEVELOPMENT和PRODUCTION中运行代码,但可以在LOCALHOST上运行(并且我可以获得Azure密钥库)但不在Deploy版本中。(https://.azurewebsites.net/)=>出现错误

我已经根据手册设置了权限:

https://docs.microsoft.com/en-us/azure/key-vault/managed-identity

https://docs.microsoft.com/en-us/azure/azure-app-configuration/howto-integrate-azure-managed-service-identity?tabs=core2x

https://wakeupandcode.com/key-vault-for-asp-net-core-3-1-web-apps/

并且我遵循youtube手册:https://www.youtube.com/watch?v=k2VYcYS3EIA

但没有用。仍然错误。

任何帮助将不胜感激。谢谢。

azure asp.net-core azure-web-sites permission-denied azure-keyvault
1个回答
0
投票

今天,我解决了我的问题。

i从Visual Studio 2019预览版中“发布”我的Web项目。并配置“服务依赖项”,然后发布。

我的网站正在运行...

我推送到我的github,发现已添加此项目。“ serviceDependencies。-Web Deploy.json”

并且我打开文件,它包含:

{
      "dependencies": {
        "secrets1": {
          "resourceId": "/subscriptions/<subscriptionId>/resourceGroups/<resGroudId>/providers/Microsoft.KeyVault/vaults/<Key Vault Name>",
          "type": "secrets.keyVault",
          "connectionId": "ASPNETCORE_HOSTINGSTARTUP__KEYVAULT__CONFIGURATIONVAULT"
        }
      }
    }

注意:手册来自https://docs.microsoft.com/en-us/azure/spring-cloud/spring-cloud-github-actions-key-vault非常有用。谢谢微软^^ /

© www.soinside.com 2019 - 2024. All rights reserved.