Небольшая информация о нашей настройке:
- On-Prem TFS 2018, обновление 2 (работает как учетная запись службы домена A)
- Отдельная виртуальная машина Win2k16, на которой размещается агент сборки (с использованиемУчетная запись службы домена B для запуска агента)
- Фид пакетов, размещенный в коллекции на TFS
Так что это работает уже несколько месяцев (новый кусок - фид пакетов длянаши собственные пакеты NuGet).В проекте MVC, использующем наши серверы сборки, задача NuGet Restore завершается неудачно при попытке подключиться к нашей ленте пакетов.В случае неудачи сообщение:
http://TFS_URL:8080/tfs/Development/_packaging/CustomNuGetFeed/nuget/v3/index.json: Unable to load the service index for source http://TFS_URL:8080/tfs/Development/_packaging/CustomNuGetFeed/nuget/v3/index.json.
Response status code does not indicate success: 401 (Unauthorized).
Это вся информация, которую выдает журнал сборки;Я углубился и развернул WireShark и получил следующее:
Запрос
GET /tfs/Development/_packaging/CustomNuGetFeed/nuget/v3/index.json HTTP/1.1
user-agent: NuGet Command Line/4.4.1 (Microsoft Windows NT 6.2.9200.0)
X-NuGet-Client-Version: 4.4.1
Accept-Language: en-US
Accept-Encoding: gzip, deflate
Authorization: Basic <base64_token>
Host: tfs:8080
Ответ
HTTP/1.1 401 Unauthorized
Content-Type: text/html
Server: Microsoft-IIS/8.5
X-TFS-ProcessId: d9a45aba-cc82-4f2c-98a3-e4441bfa456f
ActivityId: e780f2d6-1216-46ac-8c66-cb89379c7811
X-TFS-Session: e780f2d6-1216-46ac-8c66-cb89379c7811
X-VSS-E2EID: e780f2d6-1216-46ac-8c66-cb89379c7811
X-FRAME-OPTIONS: SAMEORIGIN
WWW-Authenticate: Bearer
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
WWW-Authenticate: Basic realm="tfs"
X-Powered-By: ASP.NET
P3P: CP="CAO DSP COR ADMa DEV CONo TELo CUR PSA PSD TAI IVDo OUR SAMi BUS DEM NAV STA UNI COM INT PHY ONL FIN PUR LOC CNT"
Lfs-Authenticate: NTLM
X-Content-Type-Options: nosniff
Date: Tue, 16 Oct 2018 19:57:17 GMT
Content-Length: 1293
Сообщение страницы ответа
401 - Unauthorized: Access is denied due to invalid credentials.
You do not have permission to view this directory or page using the credentials that you supplied.
Тем не менее, есть приложение .NET Core, которое, насколько я могу судить, все еще восстанавливает пакеты нормально (если только оно не извлекает пакеты только из кэша).
Учетные данные для учетной записи службы не изменились вообще.Я удостоверился, что учетные записи службы имеют доступ к каналу, в соответствии с этими документами: https://docs.microsoft.com/en-us/azure/devops/artifacts/feeds/feed-permissions?view=vsts&tabs=previous-nav
Я также попытался отключить обычную аутентификацию в IIS для сайта TFS на сервере TFS и включить Windowsавт.Ни то, ни другое не сработало.
Так что я в растерянности, в чем проблема может быть из всего, что я пробовал / изучал.