ฉันมีการกำหนดค่า apache ด้วยพร็อกซีย้อนกลับ (IP ของเซิร์ฟเวอร์นี้: 192.168.1.82
) เพื่อจัดการเซิร์ฟเวอร์ D9 ใหม่ของฉัน:
192.168.1.82 : 443 ถูกส่งไปยัง 192.168.1.87 เป็น HTTP(80)
<VirtualHost *:443>
ServerName www.mydomain.be
ServerAlias mydomain.be
NameVirtualHost www.mydomain.be
ProxyPreserveHost On
ProxyPass / http://192.168.1.87:80/
ProxyPassReverse / http://192.168.1.87/
SSLProxyCheckPeerCN Off
SSLProxyCheckPeerName Off
SSLProxyVerify none
...
</VirtualHost>
ฉันคิดว่ามันเรียกว่าการยุติ SSL
192.168.1.82 : 80 ถูกเปลี่ยนเส้นทางเป็น https (443)
<VirtualHost *:80>
ServerName www.mydomain.be
Redirect permanent / https://www.mydomain.be/
</VirtualHost>
192.168.1.87 : การตั้งค่า.php
$settings['reverse_proxy'] = จริง;
$settings['reverse_proxy_addresses'] = [
'192.168.1.82',
];
$_SERVER['HTTPS'] = 'เปิด';
$settings['ssl'] = จริง;
น่าเสียดายที่ฟีเจอร์เติมข้อความอัตโนมัติของฟิลด์อ้างอิงเอนทิตีร้องขอจุดสิ้นสุดที่ไม่ใช่ https (ไม่ปลอดภัย) (เนื้อหาแบบผสม):
http://www.mydomain.be/fr/entity_reference_autocomplete/node/default:node/3veI...I?q=t
ฉันจะทำอย่างไรเพื่อบังคับ https... ฉันจะยอมรับการแฮ็กที่น่าเกลียดที่สุดหากมันได้ผล (ใช่ ฉันอยู่นี่)
การทดสอบ 1: ProxyPass https แทน http [ใช้ไม่ได้ ดูด้านล่าง]
ฉันได้ปรับโฮสต์เสมือน 82 รายการดังต่อไปนี้
SSLProxyEngine เปิดอยู่
พร็อกซีพาส / https://192.168.1.87/
ProxyPassReverse / https://192.168.1.87/
=>คราวนี้ฉันไม่มีปัญหาเรื่องเนื้อหาผสม แต่ฉันมี ERR_TOO_MANY_REDIRECTS
อีกครั้งสำหรับจุดสิ้นสุดการเติมข้อความอัตโนมัติของเอนทิตีนี้
การทดสอบ 2: แฮ็ค Symfony\Component\HttpFoundation\Request::isSecure()
นี่คือฟังก์ชัน isSecure() ใหม่ของฉัน:
ฟังก์ชั่นสาธารณะ isSecure(){
กลับ TRUE;
}
เมื่อทำสิ่งนี้ URL ที่เติมข้อความอัตโนมัติจะใช้ https แต่คราวนี้ฉันได้ ERR_TOO_MANY_REDIRECTS
รับ https://www.mydomain.be/fr/entity_reference_autocomplete/node/default%3Anode/3ve...I?q=T net::ERR_TOO_MANY_REDIRECTS
ฉันไม่รู้จริงๆว่ามันมาจากไหน