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 ตามปกติไว้ขณะแก้ไข