ฉันมีกรณีการใช้งานคือฉันต้องยอมรับใบรับรองที่ลงนามด้วยตนเองใน Squid
ปลายทางคือคลัสเตอร์ Kubernetes โดยใช้ใบรับรองที่ลงนามเอง คลัสเตอร์จะถูกสร้างขึ้นใหม่ตามความต้องการด้วยใบรับรองที่ลงนามเองที่แตกต่างกัน ดังนั้นจำเป็นต้องยอมรับด้วย regexp วิธีที่ต้องการ หรือทั่วโลกเพื่อวัตถุประสงค์ในการทดสอบ
Squid เวอร์ชันปัจจุบันคือ 6.0.0 ซึ่งคอมไพล์ด้วยแฟล็กต่อไปนี้:
แคชปลาหมึก: เวอร์ชัน 6.0.0-VCS
ชื่อบริการ : ปลาหมึก
ไบนารีนี้ใช้ OpenSSL 1.1.1 11 ก.ย. 2018สำหรับข้อจำกัดทางกฎหมายในการแจกจ่าย โปรดดูที่ https://www.openssl.org/source/license.html
ตัวเลือกการกำหนดค่า: '--prefix=/apps/squid' '--enable-icap-client' '--enable-ssl' '--with-openssl' '--enable-ssl-crtd' '--enable- security-cert-generators=file' '--enable-au
th' '--กับ-default-user=proxy'
ในการทดสอบของฉัน ฉันเล่นกับการกำหนดค่า ssl_bump และ tls_outgoing_options:
http_port 8080 ssl-bump cert=/apps/squid/etc/ssl_cert/CA_crt.pem key=/apps/squid/etc/ssl_cert/CA_key.pem create-host-certificates=on dynamic_cert_mem_cache_size=4MB
sslcrtd_program /apps/squid/libexec/security_file_certgen -s /apps/squid/var/logs/ssl_db -M 4MB
sslcrtd_children 5
ssl_bump ชนทั้งหมด
sslproxy_cert_error อนุญาตทั้งหมด
ตัวเลือก tls_outgoing_options=ค่าสถานะทั้งหมด=DONT_VERIFY_PEER,DONT_VERIFY_DOMAIN
แต่ผลลัพธ์ที่ดีที่สุดที่ฉันสามารถทำได้คือ _curl: (51) SSL: ไม่มีชื่อเรื่องใบรับรองอื่นที่ตรงกับชื่อโฮสต์เป้าหมาย
หรือไม่มี ssl_bump
http_port 8080 ssl-bump cert=/apps/squid/etc/ssl_cert/CA_crt.pem key=/apps/squid/etc/ssl_cert/CA_key.pem create-host-certificates=on dynamic_cert_mem_cache_size=4MB
sslcrtd_program /apps/squid/libexec/security_file_certgen -s /apps/squid/var/logs/ssl_db -M 4MB
sslcrtd_children 5
sslproxy_cert_error อนุญาตทั้งหมด
ตัวเลือก tls_outgoing_options=ค่าสถานะทั้งหมด=DONT_VERIFY_PEER,DONT_VERIFY_DOMAIN
ฉันเข้าใจ curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL ในการเชื่อมต่อกับ
วันนี้ฉันต้องการจุดสิ้นสุด K8S แต่พรุ่งนี้อาจเป็นจุดสิ้นสุดอื่น ๆ ได้ ดังนั้นความจำเป็นในการทำให้ Squid สร้างการเชื่อมต่อที่หลอกลวง CN อาจเป็นได้