NuGet 407 vs 401: accesso al proxy o credenziali del feed privato?
Separare le credenziali del feed NuGet da quelle del proxy in uscita e ispezionare la configurazione usata dallo strumento che esegue davvero il ripristino.
Un ripristino NuGet può richiedere sia un account del proxy in uscita sia un account del feed privato. Usate la risposta per decidere quale configurazione ispezionare:
| Osservazione | Iniziate qui |
|---|---|
| Il proxy restituisce 407 | La rotta e l'account usati per raggiungere il proxy in uscita |
| L'origine del pacchetto restituisce 401 | La configurazione di autenticazione del feed |
| La connessione o TLS fallisce prima di una risposta | Le prove su endpoint, trasporto e certificato |
Un token del feed non può rispondere al 407 del proxy. Allo stesso modo, un errore di connessione o TLS prima di una risposta non ha stabilito quale password sia sbagliata.
Configurate il proxy separatamente dal feed
La voce proxy di NuGet appartiene a config. Per una rotta senza credenziali incorporate:
<configuration>
<config>
<add key="http_proxy" value="http://proxy.example:8080" />
</config>
</configuration>
Unite questo esempio alla configurazione esistente appropriata. Per un feed pubblico in cui sono ammessi intermediari pubblici, l'elenco di proxy HTTP offre un candidato per questa rotta senza credenziali. Tenete le origini dei pacchetti nella loro sezione; sostituire l'URL del feed con un indirizzo proxy generico chiede i pacchetti all'intermediario.
Il valore documentato http_proxy.password è crittografato. Usate gli strumenti di configurazione supportati invece di scrivere testo in chiaro in quel campo o di copiare da un'altra macchina un valore che sembra codificato come se fosse un formato di credenziali portatile.
Ispezionate il ripristino che fallisce davvero
Indicate il client, l'utente e l'ambiente di avvio, poi individuate la sua gerarchia di configurazione effettiva. Le impostazioni di utente, macchina e soluzione possono contribuire. Una vecchia correzione devenv.exe.config riguarda uno specifico processo di Visual Studio; non stabilisce cosa legga un ripristino da riga di comando o un servizio di build. Preservate le origini dei pacchetti e i criteri funzionanti mentre individuate una voce proxy obsoleta.
Una volta che l'autenticazione funziona, seguite ogni URL che fallisce in seguito. I metadati del feed e il contenuto dei pacchetti possono usare endpoint diversi, quindi una singola richiesta accettata non stabilisce l'intera rotta di ripristino. Preservate la normale convalida delle firme dei pacchetti e di TLS mentre la correggete.