VS Code中Azure账户登录失败:getaddrinfo ENOTFOUND问题求助
VS Code登录Azure账户时DNS解析失败问题排查与解决建议
问题描述
在公司笔记本电脑上使用VS Code登录Azure账户时,持续遇到DNS解析错误,相关日志如下:
2023-11-15 13:50:00.453 [info] [Axios Response] 200 - POST https://login.microsoftonline.com/common/oauth2/token?api-version=1.0 2023-11-15 13:50:00.463 [info] [Axios Request] POST https://login.microsoftonline.com/common/oauth2/token?api-version=1.0 2023-11-15 13:50:01.179 [info] [Axios Response] 200 - POST https://login.microsoftonline.com/common/oauth2/token?api-version=1.0 2023-11-15 13:50:01.186 [info] [SubscriptionsClient Request] GET https://management.azure.com/tenants?api-version=2016-06-01 2023-11-15 13:50:01.289 [error] request to https://management.azure.com/tenants?api-version=2016-06-01 failed, reason: getaddrinfo ENOTFOUND management.azure.com
- 环境说明:公司笔记本电脑出现该问题,个人电脑登录Azure账户一切正常
- 已尝试操作:
- 刷新DNS缓存
- 将azure-account扩展从最新版本降级至旧版本
VS Code代理设置截图:
解决建议
1. 验证Azure域名的DNS解析能力
打开CMD或PowerShell,执行命令测试域名解析:
nslookup management.azure.com
若返回Non-existent domain类错误,说明公司DNS无法解析该域名:
- 临时切换至公共DNS(如
8.8.8.8)测试:
测试后需恢复公司DNS设置;若临时DNS可正常解析,联系IT部门添加该域名的DNS记录。netsh interface ip set dns "以太网" static 8.8.8.8
2. 调整VS Code代理配置
当前设置为system,但公司网络可能需手动指定代理:
- 打开VS Code设置,搜索
http.proxy,填入公司代理地址(例:http://proxy.yourcompany.com:8080) - 若公司代理使用自签名证书,将
http.proxyStrictSSL设为false - 重启VS Code后重新尝试登录
3. 检查公司防火墙/安全策略
用浏览器访问https://management.azure.com,若无法打开,说明防火墙拦截了请求,联系IT部门将该域名加入白名单。
4. 借助Azure CLI复用登录状态
若扩展问题仍存在,通过Azure CLI登录后,VS Code会自动复用会话:
- 安装Azure CLI
- 打开CMD执行:
az login - 完成登录后重启VS Code,Azure账户扩展将自动识别登录状态
5. 重置Azure账户扩展状态
- 按下
Ctrl+Shift+P,输入Azure: Sign Out退出登录 - 删除扩展缓存:前往
%USERPROFILE%\.vscode\extensions,删除ms-vscode.azure-account-*文件夹 - 重新安装azure-account扩展,重启VS Code后尝试登录
内容的提问来源于stack exchange,提问作者IAN VINCENT
相关产品推荐
相关产品推荐

