วิธีกำหนดค่าเซิร์ฟเวอร์ apache เพื่อพูดคุยกับเซิร์ฟเวอร์แบ็กเอนด์ HTTPS


95

ฉันกำหนดค่าเซิร์ฟเวอร์ apache เป็นพร็อกซีย้อนกลับและทำงานได้ดีถ้าฉันชี้เซิร์ฟเวอร์แบ็กเอนด์เป็น HTTP นั่นคือ:

ฉันกำหนดค่าโฮสต์เสมือน 443 เช่น:

ProxyPass /primary/store http://localhost:9763/store/
ProxyPassReverse /primary/store http://localhost:9763/store/

ที่นี่ผู้ใช้จะเข้าถึงเซิร์ฟเวอร์เช่น https://localhost/primary/store

และใช้งานได้ดี ... แต่ฉันต้องการกำหนดค่าเซิร์ฟเวอร์ HTTP เช่น;

ProxyPass /primary/store https://localhost:9443/store/
ProxyPassReverse /primary/store https://localhost:9443/store/

เมื่อฉันกำหนดค่าเช่นเซิร์ฟเวอร์ apache ให้ข้อผิดพลาดเซิร์ฟเวอร์ภายใน 500 ฉันทำอะไรผิดที่นี่?

ข้อผิดพลาดที่ฉันได้รับคือ:

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, you@example.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

ในบันทึกข้อผิดพลาด apache ระบุว่า

nt: SSLProxyEngine]
[Mon Aug 04 00:03:26 2014] [error] proxy: HTTPS: failed to enable ssl support for [::1]:9443 (localhost)
[Mon Aug 04 00:03:31 2014] [error] [client ::1] SSL Proxy requested for localhost:443 but not enabled [Hint: SSLProxyEngine]
[Mon Aug 04 00:03:31 2014] [error] proxy: HTTPS: failed to enable ssl support for [::1]:9443 (localhost)
[Mon Aug 04 00:03:51 2014] [error] [client ::1] SSL Proxy requested for localhost:443 but not enabled [Hint: SSLProxyEngine]
[Mon Aug 04 00:03:51 2014] [error] proxy: HTTPS: failed to enable ssl support for [::1]:9443 (localhost)

จะกำหนดค่าเซิร์ฟเวอร์ http ให้คุยกับเซิร์ฟเวอร์ HTTPS ได้อย่างไร?

คำตอบ:


204

เซิร์ฟเวอร์ของคุณบอกคุณว่าคุณต้องการอะไร: [Hint: SSLProxyEngine]

คุณต้องเพิ่มคำสั่งนั้นไว้ข้างVirtualHostหน้าProxyคำสั่ง:

SSLProxyEngine on
ProxyPass /primary/store https://localhost:9763/store/
ProxyPassReverse /primary/store https://localhost:9763/store/

เห็นเอกสารรายละเอียดเพิ่มเติม


6
ขอบคุณที่ทำงานได้อย่างสมบูรณ์. ฉันพลาดที่จะใส่ SSLProxyEngine ในพารามิเตอร์
Ratha

SSLProxyEngine ของฉันเปิดอยู่และโมดูล ssl ถูกเปิดใช้งานยังคงได้รับ [อังคาร 17 พ.ย. 12: 19: 39.061224 2015] [proxy: error] [pid 8381: tid 140148180240128] AH00961: HTTPS: ล้มเหลวในการเปิดใช้งานการรองรับ ssl สำหรับ 182.161.73.67: 443 (gum.criteo.com)
Ashish Karpe

1
[อังคาร 17 พ.ย. 12: 19: 40.322610 2015] [ssl: error] [pid 5485: tid 140148287219456] [remote 103.229.140.67:443] AH01961: SSL Proxy ร้องขอสำหรับ localhost: 80 แต่ไม่ได้เปิดใช้งาน [คำแนะนำ: SSLProxyEngine]
Ashish Karpe

1
ขอบคุณ ... เพียงเพิ่มSSLProxyEngine onหลังจากSSLEngine onในไฟล์ httpd-ssl.conf และทำงานได้อย่างมีเสน่ห์!
equiman

0

ในกรณีของฉันเซิร์ฟเวอร์ของฉันได้รับการกำหนดค่าให้ทำงานในโหมด https เท่านั้นและเกิดข้อผิดพลาดเมื่อฉันพยายามเข้าถึงโหมด http เลยเปลี่ยนhttp://my-serviceมาhttps://my-serviceช่วย.

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