ฉันมีการกำหนดค่าต่อไปนี้:
- apache ที่มีการกำหนดค่า SSL และเซิร์ฟเวอร์นี้สามารถเข้าถึงได้ผ่านอินเทอร์เน็ต
- apache ที่สองในเครือข่ายท้องถิ่นของ apache อื่น แต่อันนี้ไม่ได้เปิดใช้งาน SSL
- คำขอ HTTP ทุกรายการใน apache แรกจะถูกเปลี่ยนเส้นทางไปยัง https เพื่อเหตุผลด้านความปลอดภัย
- นอกจากนี้ apache แรกได้ถูกกำหนดค่าให้ใช้พร็อกซีผ่านไปยัง apache ที่สอง
conf apache แรก:
<VirtualHost *:80> ServerName someapp.test.de Redirect permanent / https://someapp.test.de </VirtualHost> <VirtualHost *:443> ServerName someapp.test.de ProxyRequests off ProxyPass / http://192.168.0.3 ProxyPassReverse / http://192.168.0.3 SSLEngine On SSLCertificateFile /path/to/certificate SSLCertificateKeyFile /path/to/key </VirtualHost>
conf apache ที่สอง:
<VirtualHost *:80> DocumentRoot /var/www/someapp ... </VirtualHost>
ปัญหาตอนนี้คือเมื่อฉันพยายามเข้าถึง someapp.test.de ฉันได้รับข้อผิดพลาดเซิร์ฟเวอร์ภายในใน apache ที่สองด้วยข้อความต่อไปนี้:
เซิร์ฟเวอร์พบข้อผิดพลาดภายในหรือการกำหนดค่าผิดพลาดและเป็น ไม่สามารถดำเนินการตามคำขอของคุณ
ฉันคิดถึงอะไรบางอย่างหรือคิดผิดไปหรือเปล่า?
แก้ไข: ฉันพบปัญหา .. ฉันลืมเปิดใช้งานโมดูล proxy_http ฉันเปิดใช้งานโมดูลพร็อกซี่ แต่ไม่เปิดใช้งานโมดูล proxy_http ซึ่งเป็นสาเหตุของปัญหา ตอนนี้ทุกอย่างทำงานได้ดี!
ลองเพิ่ม: 80 และ RedirectMatch clause ... x = t ตัวอย่าง: ProxyPass / hxxp: //192.168.0.3: 80 ProxyPassReverse / hxxp: //192.168.0.3: 80 RedirectMatch ^ / $ hxxps: //someapp.test .de
—
Setekh
เพิ่มสิ่งนี้ในการกำหนดค่าของฉัน แต่ยังคงได้รับข้อผิดพลาดเดียวกัน
—
Chris S.
พวกเขาทั้งสองทำงานอย่างถูกต้องด้วยตัวเอง .. ฉันหมายความว่าถ้าคุณบอกว่า 192.168.0.3 ในเบราว์เซอร์ที่คุณเห็นดัชนีจากครั้งแรก (HTTPS) ใช่ไหม? - giuseppeurso.eu/en/...
—
Setekh
ตอนนี้ทุกอย่างทำงานได้ ดูการแก้ไขในโพสต์ของฉัน
—
Chris S.