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 όσο το διορθώνετε.