nginx http ถึง https proxy พร้อมใบรับรองที่ลงนามเอง


17

ฉันมีพร็อกซี nginx เพื่อเปลี่ยนเส้นทางคำขอ HTTP ด้วยพอร์ตที่ระบุไปยัง URL อื่นของ https

นี่คือการกำหนดค่าของฉันจนถึง:

server {
   listen 59848;
   location / {
      resolver 8.8.8.8;
      proxy_pass https://example.com$uri$is_args$args;
   }
}

โปรดทราบว่า "example.com" ใช้สำหรับตัวอย่างนี้เท่านั้นและหลังจากนั้นฉันจะ จำกัด คำขอที่จะส่งจาก localhost เท่านั้น

สิ่งนี้ใช้ได้ดีตราบใดที่เซิร์ฟเวอร์ที่อยู่ด้านหลัง "proxy_pass" url ใช้ใบรับรอง SSL ที่ถูกต้องที่ลงชื่อโดย CA Authority ที่รู้จักกันดี (ใบรับรองรูทใดที่ใช้โดย nginx)

แต่ฉันมีปัญหาที่ฉันต้องใช้ใบรับรองไคลเอนต์ SSL แบบลงนามด้วยตนเองที่กำหนดเองในด้าน nginx มีใครรู้วิธีติดตั้งใบรับรองที่ลงนามเองนี้ไปยัง nginx หรือไม่


คุณทำงานนี้หรือไม่? ฉันลองการกำหนดค่าที่คล้ายกันของคุณ แต่ลูกค้าไม่สามารถเชื่อมต่อได้เนื่องจากเซิร์ฟเวอร์ไม่ได้รับฟังพอร์ตที่ระบุ เฉพาะserverคำสั่งนี้ใช้ไม่ได้ แต่ nginx เริ่มต้นและฟังพอร์ตอื่นที่ระบุในการกำหนดค่า
4xy

คำตอบ:


15

nginx อนุญาตให้ใช้ใบรับรองที่ลงนามเองโดยค่าเริ่มต้น:

Syntax:     proxy_ssl_verify on | off;
Default:    proxy_ssl_verify off;
Context:    stream, server
Enables or disables verification of the proxied server certificate. 

ลบคำสั่งหรือตั้งค่าให้proxy_ssl_verify อ่านเพิ่มเติมได้ที่นี่: https://www.nginx.com/resources/admin-guide/nginx-tcp-ssl-upstreams/ http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ssl_verifyoff


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.