Номер порта игнорируется при загрузке пакета с частного сервера nuget - PullRequest
0 голосов
/ 17 мая 2018

У меня есть частный сервер Nuget, созданный с помощью пакета Nuget.Server.

Машина использует порт 8082. Сервер nuget доступен через веб-браузер на http://domain:8082/nuget, Публикация работает нормально.

Теперь я пытаюсь разрешить VS2017 принимать пакеты с этого сервера nuget. После добавления нового источника пакета "http://mydomain:8082/nuget", я могу просматривать свои пакеты, но Install-Package не удается. Очевидно, он игнорирует номер порта при создании ссылки для скачивания.

Вот вывод:

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

Есть ли способ исправить это поведение?

1 Ответ

0 голосов
/ 02 октября 2018

Проблема была вызвана настройками сетевой инфраструктуры. Порт 8082 был перенаправлен на порт 80, а сервер Nuget прослушивал порт 80. Поскольку URL-адреса были переписаны, у сервера Nuget не было возможности узнать правильный номер порта, поэтому он ответил ссылками для загрузки без пользовательского номера порта.

Как только я создал переадресацию портов без фактического изменения номера порта, то есть с 8083 на 8083, и настроил сервер Nuget на прослушивание 8083, все работает нормально.

...