ฉันพยายามตั้งค่าห่วงโซ่การเปลี่ยนเส้นทางต่อไปนี้ผ่านพร็อกซีย้อนกลับโดยใช้ Apache2
# âââââââââââââââââ ว âââââââââââââ
# âอินเทอร์เน็ต â
# â ââââââââââââââââ âââââââââ â
# â â â â
# â â ลูกค้า â â
# â âââââââââââââ¬âââ âââââââââ â
# â â â
# â â â
# â â c.example.com â
# â â â
# â â â
# ââââââââââ¼âââââââ ââââââââââââââââ¼â âââââââââââââââââ ââââ¼ââââââââÃ
# â â â â â
# â â âââââââââââââââ ว â â â
# â â â โฮสต์สาธารณะ â â â
# â â â pub.ip 123.123.123.123 â â â
# â â â ââââââââââââââ ว
# â â â â พร็อกซีสาธารณะ â â â â
# â â â ââ¬ââââââââââââ ว
# â â â â int.ip 10.0.0.2 â â â â
# â â âââââ¼ââââââââââ ââââââââââââââ¼âââ â â â
# â â â â â â
# â â â â â â
# â ââââââââââââ¼ââââ âââââââââââââââââ ว
# â â â â
# â â a.example.com â b.example.com â
# â â c.example.com â d.example.com â
# â â â â
# â â â â
# â â â â
# â â â â
# â âââââââââââââ¼âââ âââââââââââââââââ ว
# â â â â â â
# â â â â â â
# â â âââââââââ¼ââââââ ââ âââââââââ¼ââââââ ââ â â
# â â â ส่วนตัวโฮสต์-1â â ส่วนตัว-โฮสต์-2â â â
# â â â âââââââââââââ â â âââââââââââââ â â â
# â â â âพร็อกซีภายในâ â â âพร็อกซีภายในâ â â â
# â â â âââ¬ââââââââ¬ââ â â âââ¬ââââââââ¬ââ â â â
# â â â â â â â â â â â â
# â â âââââ¼ââââââââ¼ââ â⤠âââââ¼ââââââââ¼âââ ⤠â â
# â â â âค. âa â â âข. d. â â â
# â â â â â â â â â â â â
# â â â â â â â â â â â â
# â â â âââ¼âââ ââââ¼ââ â â âââ¼âââ ââââ¼ââ â â â
# â â â â â â â â â â â â â â â â
# â â â â â â â â â â â â â â â â
# â â â âsrv1â âsrv2â â â âsrv3â âsrv4â â â â
# â â â â10.1â â10.1â â â â10.1â â10.1â â â â
# â â â â.0.2â â.0.3â â â â.0.4â â.0.5â â â â
# â â â ââââââ ââââââ â â ââââââ ââââââ â â â
# â â â คอนเทนเนอร์ â â คอนเทนเนอร์ â â â
# â â âââââââââââââââ ââ ââââââââââââââ âââ â â
# â â 10.0.0.3 10.0.0.4 â â
# â â â â
# â ââââââââââââââââ ว âââââââââââââââââ â
# â 1ntranet 10.0.0.0/24 â
# âââââââââââââââââ ว âââââââââââââââââ ââââââââââââââ
ไฟล์คอนฟิกูเรชันของฉันเป็นดังนี้ (เหมือนกันบนโฮสต์สาธารณะและไพรเวต เปลี่ยน IP ตามความเหมาะสม)
# c-example-com.conf บนโฮสต์สาธารณะ
<IfModule mod_ssl.c>
<โฮสต์เสมือน *:443>
ชื่อเซิร์ฟเวอร์ c.example.com
<หนังสือมอบฉันทะ *>
คำสั่งปฏิเสธอนุญาต
อนุญาตจากทั้งหมด
</พร็อกซี่>
รวม /etc/letsencrypt/options-ssl-apache.conf
SSLEngine เปิดอยู่
SSLCertificateFile /etc/letsencrypt/live/c.example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/c.example.com/privkey.pem
ProxyRequests ปิด
ProxyPreserveHost เปิด
SSLProxyEngine เปิดอยู่
ProxyPass / https://10.0.0.3/ # บนโฮสต์ส่วนตัว นี่จะเป็น 10.1.0.2 สำหรับพาสที่เหลือทั้งหมด
ProxyPassReverse / https://10.0.0.3/
</เวอร์ชวลโฮสต์>
</หากโมดูล>
<IfModule mod_ssl.c>
<โฮสต์เสมือน *:80>
ชื่อเซิร์ฟเวอร์ c.example.com
<หนังสือมอบฉันทะ *>
คำสั่งปฏิเสธอนุญาต
อนุญาตจากทั้งหมด
</พร็อกซี่>
ProxyRequests ปิด
ProxyPreserveHost เปิด
พร็อกซีพาส / http://10.0.0.3/
ProxyPassReverse / http://10.0.0.3/
RewriteEngine เปิดอยู่
</เวอร์ชวลโฮสต์>
</หากโมดูล>
<โฮสต์เสมือน *:80>
ชื่อเซิร์ฟเวอร์ c.example.com
<หนังสือมอบฉันทะ *>
คำสั่งปฏิเสธอนุญาต
อนุญาตจากทั้งหมด
</พร็อกซี่>
ProxyRequests ปิด
ProxyPreserveHost เปิด
พร็อกซีพาส / http://10.0.0.3/
ProxyPassReverse / http://10.0.0.3/
RewriteEngine เปิดอยู่
RewriteCond %{SERVER_NAME} =c.example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=ถาวร]
</เวอร์ชวลโฮสต์>
ไม่มีโฮสต์สาธารณะ เช่น. หากไพรเวตโฮสต์ 1 เปิดเผยต่ออินเทอร์เน็ตและ IP สาธารณะถูกแมปกับชื่อโดเมนและเปลี่ยนเส้นทางไปยังคอนเทนเนอร์ srv1 ผ่านพร็อกซีย้อนกลับเดียว แสดงว่าใช้งานได้ดี อย่างไรก็ตาม เมื่อพร็อกซีที่เปิดเผยต่อสาธารณะถูกผูกมัดไว้ที่ด้านบนของพร็อกซีภายใน 1 สิ่งต่อไปนี้จะเกิดขึ้น:
1). http://c.example.com แสดงค่าเริ่มต้น index.html
ของ Apache2 จากโฮสต์สาธารณะ
2). https://c.example.com ปฏิเสธที่จะเชื่อมต่อ
แต่ละเลเยอร์ (โฮสต์สาธารณะ โฮสต์ส่วนตัว และเซิร์ฟเวอร์) มีใบรับรอง SSL ของตัวเอง แต่นั่นเป็นข้อมูลรอง ในขณะนี้แม้แต่ http ก็ใช้งานไม่ได้ ความคิดใด ๆ ?