Microsoft 的 WinGet 包管理器当前在 WinGet CDN 的 SSL/TLS 证书过期后安装或升级包时遇到问题。
开源 Windows 包管理器 (WinGet) 于 2020 年 5 月发布,允许用户直接从命令行安装应用程序。
更新,2 月 12 日晚上 8:40:问题在发布数小时后得到解决。 Microsoft 高级产品经理 Demitrius Nelon 表示将在周一进行根本原因分析。
WinGet down after CDN's SSL expires
从星期六的深夜开始,Windows 用户开始报告在尝试通过 WinGet 安装或升级应用程序时出现问题。
WinGet 用户 Tiger Wang 在 GitHub 上分享了他们在尝试运行简单的 WinGet 命令时抛出“InternetOpenUrl() 失败”错误的命令行屏幕截图,例如:
winget upgrade --all --verbose
。
此报告得到了另一位也遇到此问题的用户的支持。 该问题似乎与现已过期的 WinGet CDN 的 SSL/TLS 证书有关。
在 Chrome 中导航到 CDN URL https://cdn.winget.microsoft.com 时,OZABC 收到以下错误:
警告和证书详细信息均确认 WinGet CDN 的证书在周末不再有效:
什么是临时解决方案?
在 Microsoft 更新 SSL 证书之前,WinGet 用户可以高枕无忧,因为他们知道有一种替代解决方法可以解决这种情况。
这涉及将以下源 URL 添加到 WinGet 的源列表,而不是仅仅依赖 cdn.winget.microsoft.com。 这样,WinGet 就可以从这个在编写时具有有效证书的备用服务器获取包。
https://winget.azureedge.net/缓存
“您可以使用以下命令添加源,例如 https://winget.azureedge.net/cache ,”GitHub 用户qilme建议道。
sudo winget source add -n winget https://winget.azureedge.net/cache
winget 工具源命令使用户能够管理 Windows 包管理器的源代码。 使用 source 命令,可以添加、列出、编辑、删除、重置或导出 WinGet 使用的存储库。
注意:执行上述命令时,如果该命令是由管理员帐户在 PowerShell 中运行的,则不需要“sudo”。 如果您遇到错误,请在添加新的 azureedge 链接之前尝试删除默认的 WinGet 源。
有问题的 azureedge URL 是 WinGet 的 CDN 的别名,尽管它具有有效的证书,这使其成为 WinGet 开发人员的可行解决方案:
Microsoft 更新了主要 CDN 的证书后,用户可以选择通过运行另一条命令来重置其源 URL:
“您始终可以运行 winget source reset --force(以管理员身份)以恢复默认设置,”GitHub 用户 Adam Langbert 建议道。
今天之前,WinGet 的最后一次大范围中断发生在 2022 年 11 月,原因是 CDN 在查询时返回“0 字节数据库文件”。
如若转载,请注明出处:https://www.ozabc.com/it/534757.html