浏览器打开 NuGet v3 索引并不等于测试了包下载访问。索引通过 @type 和 @id 公布资源 URL;元数据和包内容可能托管在别处。

  1. 在还原输出中读取第一个失败的 URL、包 ID 和版本。
  2. 将该主机与源索引中的资源 URL 进行比较。PackageBaseAddress/3.0.0 提供版本枚举和包文件获取的基址。
  3. 与网络管理员审查所需路径时,要把重定向计算在内。

假设 feed.example 上的索引在 packages.example 上公布内容,包列表可能加载成功,而选中的 .nupkg 却被阻止。重复登录并不会使这些请求等价。缓存的包能成功,也说明不了另一个远程内容 URL 的情况。

遵循公布的资源,而不是猜测主机名。NuGet 会发现它,因为源基础设施可能变化;仅允许索引主机的规则可能覆盖不到。

对实际响应进行分类:407 要求代理身份验证,而策略拒绝、CONNECT 失败、主机不可达或 TLS 错误 都需要单独排查。相似的对话框会掩盖这些差别。应申请访问源中记录的各个资源主机,而不是申请无关产品的宽泛通配符清单,然后再排查任何仍然存在的账户故障。

相关文章