Am o configurație apache cu proxy invers (IP-ul acestui server: 192.168.1.82
) pentru a gestiona noul meu server D9:
192.168.1.82 : 443 este transmis la 192.168.1.87 ca 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>
Cred că se numește Terminare SSL
192.168.1.82 : 80 este redirecționat ca https (443)
<VirtualHost *:80>
ServerName www.mydomain.be
Redirect permanent / https://www.mydomain.be/
</VirtualHost>
192.168.1.87 : setări.php
$settings['reverse_proxy'] = TRUE;
$settings['reverse_proxy_addresses'] = [
„192.168.1.82”,
];
$_SERVER['HTTPS'] = 'activat';
$settings['ssl'] = TRUE;
Din păcate, caracteristica de completare automată a unui câmp de referință de entitate solicită un punct final non https (nesecurizat) (conținut mixt):
http://www.mydomain.be/fr/entity_reference_autocomplete/node/default:node/3veI...I?q=t
Ce pot face pentru a forța https... Voi accepta cel mai urât hack dacă funcționează (da, sunt aici)
Testul 1: ProxyPass https în loc de http [nu va funcționa, vezi mai jos]
Am adaptat gazda virtuală 82 după cum urmează;
SSLProxyEngine activat
ProxyPass / https://192.168.1.87/
ProxyPassReverse / https://192.168.1.87/
=>De data aceasta nu am problema de conținut mixt, dar am ERR_TOO_MANY_REDIRECTS
din nou pentru punctul final de completare automată a acestei entitati
Testul 2: hack Symfony\Component\HttpFoundation\Request::isSecure()
Iată noua mea funcție isSecure():
funcția publică esteSecure(){
returnează TRUE;
}
Făcând acest lucru, adresa URL de completare automată folosește https, dar de data aceasta, am primit ERR_TOO_MANY_REDIRECTS
GET https://www.mydomain.be/fr/entity_reference_autocomplete/node/default%3Anode/3ve...I?q=T net::ERR_TOO_MANY_REDIRECTS
Nu am nicio idee de unde poate veni