apache proxypass https เป็น http ไม่ทำงาน


2

ฉันมีการกำหนดค่าต่อไปนี้:

  1. apache ที่มีการกำหนดค่า SSL และเซิร์ฟเวอร์นี้สามารถเข้าถึงได้ผ่านอินเทอร์เน็ต
  2. apache ที่สองในเครือข่ายท้องถิ่นของ apache อื่น แต่อันนี้ไม่ได้เปิดใช้งาน SSL
  3. คำขอ HTTP ทุกรายการใน apache แรกจะถูกเปลี่ยนเส้นทางไปยัง https เพื่อเหตุผลด้านความปลอดภัย
  4. นอกจากนี้ 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.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.