使用Azure Key Vault获取安全值时遭遇HTTP 404错误求助
排查Azure Key Vault访问404错误
1. 修复Key Vault URI格式错误
你的代码里kvUri末尾多了多余的/{},错误的URI会指向不存在的路径,直接导致404。正确的Key Vault URI格式应为https://{vaultname}.vault.azure.net/(末尾可带斜杠也可不带,但不能加多余的{})。
修正后的代码:
const string secretName = "MyConnectionString"; var kvUri = "https://{vaultname}.vault.azure.net/"; var client = new SecretClient(new Uri(kvUri), new DefaultAzureCredential()); var secret = await client.GetSecretAsync(secretName); Console.WriteLine($"Your secret is '{secret.Value.Value}'.");
2. 确认Key Vault名称准确
替换{vaultname}为你实际的Key Vault名称,确保拼写完全一致,包括大小写(虽然Azure资源名称不区分大小写,但URI拼写错误仍会触发404)。
3. 验证目标密钥是否存在
登录Azure门户,进入对应Key Vault,检查MyConnectionString密钥是否确实存在:
- 若密钥不存在,需先创建该密钥;
- 若密钥名称存在拼写误差(比如大小写、特殊字符),修正代码里的
secretName。
4. 检查Key Vault网络访问配置
如果Key Vault设置了网络限制(比如仅允许特定IP、虚拟网络访问),而运行代码的环境不在允许列表内,也可能返回404(这种场景下的404是Azure隐藏真实访问拒绝错误的返回)。可临时将Key Vault网络权限设置为“允许所有网络”测试,若能正常获取密钥,再调整网络规则到合适配置。
内容的提问来源于stack exchange,提问作者Prashant Pawar
相关产品推荐
相关产品推荐

