从专用nuget服务器下载包时忽略端口号

从专用nuget服务器下载包时忽略端口号,nuget,port-number,Nuget,Port Number,我正在托管一个使用Nuget.server包构建的私有Nuget服务器 机器正在暴露端口8082。nuget服务器可通过上的web浏览器访问,发布工作正常 现在,我正在尝试使VS2017能够使用来自此nuget服务器的包。添加新包源“”后,我可以浏览我的包,但安装包失败。显然,在构建下载链接时,它会忽略端口号 以下是输出: PM> Install-Package MyPackage Restoring packages for D:\someproject.csproj... GET

我正在托管一个使用Nuget.server包构建的私有Nuget服务器

机器正在暴露端口8082。nuget服务器可通过上的web浏览器访问,发布工作正常

现在,我正在尝试使VS2017能够使用来自此nuget服务器的包。添加新包源“”后,我可以浏览我的包,但安装包失败。显然,在构建下载链接时,它会忽略端口号

以下是输出:

PM> Install-Package MyPackage
Restoring packages for D:\someproject.csproj...
  GET https://www.nuget.org/api/v2/FindPackagesById()?id='Newtonsoft.Json'&semVerLevel=2.0.0
  GET https://www.myget.org/F/aspnetvnext/api/v2/FindPackagesById()?id='Newtonsoft.Json'&semVerLevel=2.0.0
  GET http://mydomain:8082/nuget/FindPackagesById()?id='Newtonsoft.Json'&semVerLevel=2.0.0
  GET https://www.nuget.org/api/v2/FindPackagesById()?id='MyPackage'&semVerLevel=2.0.0
  GET https://www.myget.org/F/aspnetvnext/api/v2/FindPackagesById()?id='MyPackage'&semVerLevel=2.0.0
  GET http://mydomain:8082/nuget/FindPackagesById()?id='MyPackage'&semVerLevel=2.0.0
  OK http://mydomain:8082/nuget/FindPackagesById()?id='Newtonsoft.Json'&semVerLevel=2.0.0 44 мс
  OK http://mydomain:8082/nuget/FindPackagesById()?id='MyPackage'&semVerLevel=2.0.0 62 мс
  GET http://mydomain/nuget/Packages(Id='MyPackage',Version='1.0.1')/Download
  OK https://www.nuget.org/api/v2/FindPackagesById()?id='Newtonsoft.Json'&semVerLevel=2.0.0 431 мс
  OK https://www.nuget.org/api/v2/FindPackagesById()?id='MyPackage'&semVerLevel=2.0.0 441 мс
  OK https://www.myget.org/F/aspnetvnext/api/v2/FindPackagesById()?id='MyPackage'&semVerLevel=2.0.0 1436 мс
  OK https://www.myget.org/F/aspnetvnext/api/v2/FindPackagesById()?id='Newtonsoft.Json'&semVerLevel=2.0.0 1471 мс
Unable to download package "MyPackage.1.0.1" из "http://mydomain/nuget/Packages(Id='MyPackage',Version='1.0.1')/Download".
Error while sending request.
  Unable to connect to remote server
  A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond <mydomain's IP here>:80
PM>安装程序包MyPackage
正在还原D:\someproject.csproj的包。。。
得到https://www.nuget.org/api/v2/FindPackagesById()?id='Newtonsoft.Json'&semVerLevel=2.0.0
得到https://www.myget.org/F/aspnetvnext/api/v2/FindPackagesById()?id='Newtonsoft.Json'&semVerLevel=2.0.0
得到http://mydomain:8082/nuget/FindPackagesById()?id='Newtonsoft.Json'&semVerLevel=2.0.0
得到https://www.nuget.org/api/v2/FindPackagesById()?id='MyPackage'&semVerLevel=2.0.0
得到https://www.myget.org/F/aspnetvnext/api/v2/FindPackagesById()?id='MyPackage'&semVerLevel=2.0.0
得到http://mydomain:8082/nuget/FindPackagesById()?id='MyPackage'&semVerLevel=2.0.0
好啊http://mydomain:8082/nuget/FindPackagesById()?id='Newtonsoft.Json'&semVerLevel=2.0.0 44МС
好啊http://mydomain:8082/nuget/FindPackagesById()id='MyPackage'&semVerLevel=2.0.0
得到http://mydomain/nuget/Packages(Id='MyPackage',Version='1.0.1')/下载
好啊https://www.nuget.org/api/v2/FindPackagesById()?id='Newtonsoft.Json'&semVerLevel=2.0.0 431МС
好啊https://www.nuget.org/api/v2/FindPackagesById()id='MyPackage'&semVerLevel=2.0.0 441МС
好啊https://www.myget.org/F/aspnetvnext/api/v2/FindPackagesById()id='MyPackage'&semVerLevel=2.0.0 1436
好啊https://www.myget.org/F/aspnetvnext/api/v2/FindPackagesById()?id='Newtonsoft.Json'&semVerLevel=2.0.0 1471МС
无法下载程序包“MyPackage.1.0.1”http://mydomain/nuget/Packages(Id='MyPackage',Version='1.0.1')/下载”。
发送请求时出错。
无法连接到远程服务器

连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机没有响应问题是由网络基础结构设置引起的。端口8082被转发到端口80,Nuget服务器正在端口80上侦听。由于URL被重写,Nuget服务器无法知道正确的端口号,因此它使用没有自定义端口号的下载链接进行响应


一旦我创建了一个前向端口,而没有实际更改端口号,即8083到8083,并将Nuget server设置为侦听8083,一切正常。

只需添加另一点,取消对项目或IIS的Web.config中的元素
的注释。如果您位于防火墙后面,或者NugetServer在不同的端口上运行,这将非常有用。对我来说,这是可行的。

如果基础架构团队无法解决问题,则在Web.config中取消对元素
的注释也会有所帮助。