Nuget在公司代理后面——外部资源可以使用,但内部资源无法使用。

6
因此,为了在我们的组织内使用NuGet和其他开发工具,我们不得不为每个用户在其特定环境变量中设置系统范围的环境变量“http_proxy”。目前,我们尝试过的所有包管理器(如NuGet、NPM、chocolatey等)都可以与外部存储库正常工作。最近,我们在构建服务器上设置了一个内部NuGet服务器,用于内部托管常见的软件包。每个人都可以浏览到位于URL的服务器位置:-ip-/nuget,并且我们可以看到XML源。但当我们尝试使用nuget.exe或Visual Studio 2017连接到此源时,查找软件包的请求总是在100000ms后超时,我猜这是默认超时时间。我们还可以在任何浏览器中精确浏览超时的URL,没有任何问题。我认为这可能与我们的内部代理尝试将流量路由到网络外部有关,而实际上它是内部的,但我无法验证。请问是否有任何解决方法?

你是否按照https://learn.microsoft.com/en-us/nuget/schema/nuget-config-file中所述,在`nuget.config`文件中配置了代理?外部可能会工作,因为它使用的是https而不是http来获取nuget.org。 - Martin Ullrich
最初我们使用了nuget.config配置设置,但是我们发现完全可以用环境变量来替代它,并且仍然能够正常工作。我会尝试恢复原状,看看是否有所帮助。 - Lex Webb
@MartinUllrich 很不幸,我也尝试将源更改为https,并生成自己的SSL密钥,但仍然没有成功。现在失败所需的时间更短了,并显示503服务不可用错误。 - Lex Webb
@LexWebb,我和你在2017年遇到了同样的问题。我想你现在已经找到了解决方案,请问你能否在这里分享一下? - Selmir
1个回答

2

有没有什么我们可以尝试来解决这个问题?

由于您在办公系统中也可以浏览到超时的 URL,因此您的办公环境存在一些互联网限制。建议您联系办公室 IT 确认是否添加了任何限制并是否使用了代理。如果他们正在使用某些代理,则需要在 NuGet.Config 文件中设置代理设置,该文件存储在 C:\Users\用户名\AppData\Roaming\NuGet 中:

<configuration>

    <config>
        <add key="http_proxy" value="http://my.proxy.address:port" />
        <add key="http_proxy.user" value="mydomain\myUserName" />
        <add key="http_proxy.password" value="base64encodedHopefullyEncryptedPassword" />
    </config>

</configuration>

请参考此链接获取详细信息:NuGet Behind Proxy

1
这是问题所在,我们已经尝试过这个方法,以修复外部 NuGet 源,例如官方 NuGet 源,这使我们能够下载和浏览软件包,但现在只有内部源无法工作(我们的构建服务器)。 - Lex Webb
我也遇到了完全相同的问题,但是在我的办公室里似乎没有其他人遇到这个问题,我不确定该如何解决。我已经检查了这个配置,以及Internet选项代理设置和TFS代理设置。 - ryanwebjackson
更新文件后,请记得重新启动Visual Studio。 - Paul Peat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接