Zum Inhalt springen

Problem mit nginx als reverse SSL Proxy

Erstellt am 16. September 2015 · 6 Antworten · letzte Antwort am 23. September 2015

Tags: TYPO3 6.x, Frage

roebert ·

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

charhunter ·

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

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.

roebert ·

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

Velletti ·

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]