Hallo,
wir haben folgenden Aufbau:
Internet(EndUser) <== HTTPS ==> nginx SSL revProxy <== HTTP ==> IIS/PHP/Typo3 6.2
im Backend gibt es damit folgendes Problem: im Quellcode werden absolute Links auf die HTTP-Domain geschrieben (extbase ... ajax-nachladen vom Seitenbaum z.b. ... "url":"http:\/\/domain.de\/typo3\/ajax.php?ajaxID=ExtDirect::route&namespace=TYPO3.Components.PageTree")
darüber schimpft der Browser und sagt mixed content mach ich mal lieber nicht.
wie kann ich dem typo3 hier die absoluten Links austreiben?
Danke für Hilfe
Moin robert,
du solltest den Apache dazu bringen die Umgebungsvariable HTTPS auf on zu setzten.
Wenn der Proxy bei der SSL-Terminierung im HTTP Header ein Wert wie zum Beispiel HTTP_X_FORWARDED_PROTO = https setzt, kannst du mit Hilfe von mod_setenvif die Umgebungsvariable setzen:
SetEnvIf HTTP_X_FORWARDED_PROTO "^https$" HTTPS=on
SetEnvIf HTTP_X_FORWARDED_PROTO "^http$" HTTPS=off
das müsste TYPO3 dann erkennen und die Links korrekt ausgeben.
Viele Grüße
charhunter
Oh, sorry, hab gerade erst gesehen, dass ihre einen IIS verwendet. Da weiß ich leider nicht, wie man es da macht. Sollte aber analog dazu auch eine Möglichkeit geben.
danke für die schnelle Antwort - leider findet man zum IIS und Umgebungsvariablen wenig infos. Ich habe mit den Infos von https://www.iis.net/configreference/system.webserver/fastcgi/application/environmentvariables HTTPS=on gesetzt - leider hat sich nichts am Problem geändert.
habe die env-vars gesetzt - php kann diese auch lesen (siehe screenshot / phpinfo)
https://imgur.com/EeZaxBS
leider hat sich nichts geändert
zusätzlich musste noch folgendes in der Konfig hinzugefügt werden, damit es klappt:
SYS:
'reverseProxyHeaderMultiValue' => 'first',
'reverseProxyIP' => 'IP',
'reverseProxySSL' => 'IP',
'reverseProxyPrefix' => '',
'reverseProxyPrefixSSL' => '',
'trustedHostsPattern' => '.*\.domain\.tld',
BE:
lockSSL=>1
die IP oben habe ich so ausgelesen : $_SERVER['REMOTE_ADDR']
domain.tld durch die eigene Domain ersetzen
Zu reverseProxyIP:
hier die IP Adresse(n) vom revProxy eintragen. Wenn das ein Loadbalancer mit Fallback ist dann z.b. so:
SYS:
'reverseProxyIP' => '192.123.123.1,192.123.123.2',
zu lockSSL:
BE:
lockSSL=>1
Damit hab ich schlechte Erfahrungen in dem Umfeld gemacht. ... Ich habe eine dedizierrte Subdomain einrichten lassen NUR für s backend und einn .htaccess redirect :
RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC]
RewriteCond %{REQUEST_URI} ^/typo3$
RewriteRule ^(.*)$ https://typo3.domain.com/typo3 [R=302,L]
die IP oben habe ich so ausgelesen : $_SERVER['REMOTE_ADDR']
domain.tld durch die eigene Domain ersetzen
[/quote]