NuGet 407 и 401: вход на прокси-сервер или учётные данные приватного канала?
Отделите учётные данные канала NuGet от учётных данных прямого прокси-сервера и проверьте конфигурацию, которую использует инструмент, фактически выполняющий восстановление.
Для восстановления NuGet могут потребоваться и учётная запись прямого прокси-сервера, и учётная запись приватного канала. Используйте ответ, чтобы определить, какую конфигурацию проверять:
| Наблюдение | Начните здесь |
|---|---|
| Прокси-сервер возвращает 407 | Маршрут и учётная запись, используемые для доступа к прямому прокси-серверу |
| Источник пакетов возвращает 401 | Конфигурация проверки подлинности канала |
| Соединение или TLS не удаётся до получения ответа | Данные о конечной точке, транспорте и сертификате |
Токен канала не может ответить на 407 прокси-сервера. Точно так же сбой соединения или TLS до получения ответа не установил, какой пароль неверен.
Настройте прокси-сервер отдельно от канала
Запись прокси-сервера в NuGet относится к разделу config. Для маршрута без встроенных учётных данных:
<configuration>
<config>
<add key="http_proxy" value="http://proxy.example:8080" />
</config>
</configuration>
Объедините этот пример с соответствующей существующей конфигурацией. Для публичного канала, где разрешены публичные посредники, список HTTP-прокси предлагает кандидата для такого маршрута без учётных данных. Храните источники пакетов в отдельном разделе; замена URL канала общим адресом прокси заставляет посредника запрашивать пакеты.
Документированное значение http_proxy.password зашифровано. Используйте поддерживаемые средства настройки, а не записывайте открытый текст в это поле и не копируйте с другой машины значение, похожее на закодированное, как будто это переносимый формат учётных данных.
Проверьте то восстановление, которое действительно не удаётся
Укажите клиент, пользователя и среду запуска, затем найдите действующую иерархию конфигурации. Свой вклад могут вносить параметры пользователя, компьютера и решения. Старое исправление devenv.exe.config касается конкретного процесса Visual Studio; оно не устанавливает, что читает восстановление из командной строки или служба сборки. Сохраняйте рабочие источники пакетов и политики, пока ищете устаревшую запись прокси-сервера.
После того как проверка подлинности заработает, проследите каждый URL, который позже завершится ошибкой. Метаданные канала и содержимое пакетов могут использовать разные конечные точки, поэтому один принятый запрос не устанавливает полный маршрут восстановления. Сохраняйте обычную проверку подписи пакетов и TLS, пока исправляете это.