หลังจากการกำหนดค่าพีซีใหม่ ฉันไม่สามารถใช้ Docker ได้อย่างถูกต้อง เนื่องจากคำสั่ง curl บางคำสั่งถูกปฏิเสธเนื่องจากปัญหา SSL/TLS
ในตัวอย่างเดียว curl -vfsSL https://apt.releases.hashicorp.com/gpg
ส่งคืนข้อผิดพลาดต่อไปนี้:
* ลอง 52.222.214.125:443...
* ตั้งค่า TCP_NODELAY
* เชื่อมต่อกับ apt.releases.hashicorp.com (52.222.214.125) พอร์ต 443 (#0)
* ALPN ให้บริการ h2
* ALPN ให้บริการ http/1.1
* ตั้งค่าตำแหน่งการตรวจสอบใบรับรองสำเร็จแล้ว:
* ไฟล์ CA: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
* TLSv1.3 (ออก), การจับมือ TLS, สวัสดีลูกค้า (1):
* TLSv1.3 (IN), การจับมือ TLS, สวัสดีเซิร์ฟเวอร์ (2):
* TLSv1.3 (ออก), TLS เปลี่ยนรหัส, เปลี่ยนข้อมูลจำเพาะของรหัส (1):
* TLSv1.3 (ออก), การจับมือ TLS, สวัสดีลูกค้า (1):
* TLSv1.3 (IN), การจับมือ TLS, สวัสดีเซิร์ฟเวอร์ (2):
* TLSv1.3 (IN), TLS handshake, ส่วนขยายที่เข้ารหัส (8):
* TLSv1.3 (IN), การจับมือ TLS, ใบรับรอง (11):
* TLSv1.3 (OUT), การแจ้งเตือน TLS, CA ที่ไม่รู้จัก (560):
* ปัญหาใบรับรอง SSL: ไม่สามารถรับใบรับรองจากผู้ออกในท้องถิ่น
* ปิดการเชื่อมต่อ 0
curl: (60) ปัญหาใบรับรอง SSL: ไม่สามารถรับใบรับรองผู้ออกในเครื่องได้
รายละเอียดเพิ่มเติมที่นี่: https://curl.haxx.se/docs/sslcerts.html
curl ไม่สามารถตรวจสอบความถูกต้องของเซิร์ฟเวอร์ได้ ดังนั้นจึงไม่สามารถทำได้
สร้างการเชื่อมต่อที่ปลอดภัยกับมัน หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับสถานการณ์นี้และ
วิธีแก้ไขโปรดไปที่หน้าเว็บที่กล่าวถึงข้างต้น
หลังจากขุดค้นมาสักพัก ตอนนี้ฉันรู้แล้วว่าสิ่งนี้ ปัญหายังเกิดขึ้นภายในอิมเมจ WSL ของฉันด้วย แต่ไม่ใช่ในโฮสต์ Windows OS. ดังนั้น ฉันเชื่อว่านี่จะต้องเป็นปัญหาที่มาจากการตั้งค่า WSL ของฉัน และไม่ได้เกิดจาก Docker เอง (?)
มีคำถามที่เกี่ยวข้องกับ serverfault/stackoverflow อยู่สองสามข้อ แต่ไม่พบวิธีแก้ไขที่ใช้กับกรณีนี้:
FWIW ฉันทำงานในองค์กรโดยใช้ระบบปฏิบัติการที่ออกโดย ITแน่นอนว่านั่นอาจเป็นสาเหตุของข้อผิดพลาด แต่พวกเขาไม่สามารถช่วยฉันแก้ปัญหานี้ได้ อย่างไรก็ตามพีซีของเพื่อนร่วมงานเครื่องหนึ่งทำงานได้อย่างไร้ที่ติ
ความคิดใด ๆ ?
การตั้งค่าพีซี:
- วินโดวส์ 10 เอ็นเตอร์ไพรส์
- รุ่น: 21H1
- รุ่นระบบปฏิบัติการ: 19043.1645
- Windows Feature Experience Pack: 120.2212.4170.0
- WSL 2 พร้อม Ubuntu-20.04
- Docker Desktop 4.7.1 (77678) พร้อมเอ็นจิ้นที่ใช้ WSL 2
อัพเดท 1
ตามที่ @Martin แนะนำ ฉันลองดาวน์โหลดแล้ว https://www.amazontrust.com/repository/AmazonRootCA1.pem, ใส่มันเข้าไปข้างใน /tmp
ใน WSL Ubuntu และรันคำสั่งใหม่ ขด --cacert /tmp/AmazonRootCA1.pem -vfsSL https://apt.releases.hashicorp.com/gpg
ไม่มีประโยชน์:
ขด --cacert /tmp/AmazonRootCA1.pem -vfsSL https://apt.releases.hashicorp.com/gpg
* ลอง 52.222.214.72:443...
* ตั้งค่า TCP_NODELAY
* เชื่อมต่อกับ apt.releases.hashicorp.com (52.222.214.72) พอร์ต 443 (#0)
* ALPN ให้บริการ h2
* ALPN ให้บริการ http/1.1
* ตั้งค่าตำแหน่งการตรวจสอบใบรับรองสำเร็จแล้ว:
* ไฟล์ CA: /tmp/AmazonRootCA1.pem
CApath: /etc/ssl/certs
* TLSv1.3 (ออก), การจับมือ TLS, สวัสดีลูกค้า (1):
* TLSv1.3 (IN), การจับมือ TLS, สวัสดีเซิร์ฟเวอร์ (2):
* TLSv1.3 (ออก), TLS เปลี่ยนรหัส, เปลี่ยนข้อมูลจำเพาะของรหัส (1):
* TLSv1.3 (ออก), การจับมือ TLS, สวัสดีลูกค้า (1):
* TLSv1.3 (IN), การจับมือ TLS, สวัสดีเซิร์ฟเวอร์ (2):
* TLSv1.3 (IN), TLS handshake, ส่วนขยายที่เข้ารหัส (8):
* TLSv1.3 (IN), การจับมือ TLS, ใบรับรอง (11):
* TLSv1.3 (OUT), การแจ้งเตือน TLS, CA ที่ไม่รู้จัก (560):
* ปัญหาใบรับรอง SSL: ไม่สามารถรับใบรับรองจากผู้ออกในท้องถิ่น
* ปิดการเชื่อมต่อ 0
curl: (60) ปัญหาใบรับรอง SSL: ไม่สามารถรับใบรับรองผู้ออกในเครื่องได้
รายละเอียดเพิ่มเติมที่นี่: https://curl.haxx.se/docs/sslcerts.html
curl ไม่สามารถตรวจสอบความถูกต้องของเซิร์ฟเวอร์ได้ ดังนั้นจึงไม่สามารถทำได้
สร้างการเชื่อมต่อที่ปลอดภัยกับมัน หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับสถานการณ์นี้และ
วิธีแก้ไขโปรดไปที่หน้าเว็บที่กล่าวถึงข้างต้น