NuGet 407 vs 401: autentificare la proxy sau acreditări pentru feedul privat?
Separați acreditările feedului NuGet de cele ale proxy-ului de ieșire și inspectați configurația folosită de instrumentul care efectuează efectiv restaurarea.
O restaurare NuGet poate necesita atât un cont de proxy de ieșire, cât și un cont pentru feed privat. Folosiți răspunsul pentru a decide ce configurație să inspectați:
| Observație | Începeți aici |
|---|---|
| Proxy-ul returnează 407 | Ruta și contul folosite pentru a ajunge la proxy-ul de ieșire |
| Sursa pachetelor returnează 401 | Configurația de autentificare a feedului |
| Conexiunea sau TLS eșuează înainte de un răspuns | Dovezile privind punctul final, transportul și certificatul |
Un token de feed nu poate răspunde la 407-ul proxy-ului. De asemenea, o eroare de conexiune sau TLS înainte de un răspuns nu a stabilit care parolă este greșită.
Configurați proxy-ul separat de feed
Intrarea de proxy din NuGet aparține secțiunii config. Pentru o rută fără acreditări încorporate:
<configuration>
<config>
<add key="http_proxy" value="http://proxy.example:8080" />
</config>
</configuration>
Fuzionați acest exemplu în configurația existentă potrivită. Pentru un feed public în care sunt permiteți intermediarii publici, lista de proxy-uri HTTP oferă un candidat pentru această rută fără acreditări. Păstrați sursele de pachete în secțiunea lor; înlocuirea URL-ului feedului cu o adresă generică de proxy cere intermediarului pachetele.
Valoarea documentată http_proxy.password este criptată. Folosiți instrumentele de configurare acceptate în loc să scrieți text simplu în acel câmp sau să copiați de pe altă mașină o valoare care pare codificată ca și cum ar fi un format portabil de acreditări.
Inspectați restaurarea care eșuează de fapt
Nomiți clientul, utilizatorul și mediul de lansare, apoi găsiți ierarhia efectivă de configurare. Setările de utilizator, mașină și soluție pot contribui. O corecție veche pentru devenv.exe.config privește un anumit proces Visual Studio; nu stabilește ce citește o restaurare din linia de comandă sau un serviciu de build. Păstrați sursele de pachete și politicile funcționale în timp ce căutați o intrare de proxy învechită.
După ce autentificarea funcționează, urmați orice URL care eșuează mai târziu. Metadatele feedului și conținutul pachetelor pot folosi puncte finale diferite, așa că o singură cerere acceptată nu stabilește ruta completă de restaurare. Păstrați validarea normală a semnăturilor pachetelor și a TLS în timp ce corectați acest lucru.