netzkompetenz

Snippets, Tipps und Tricks rund um Webprogrammierung der taywa gmbh aus Zürich

HTTPS Einstellungen für Typo3 bei nginX vor Apache

Problem:
Liefert der Typo3 Webserver das HTML nicht direkt an den Browser, weil es noch Caching Frameworks / CDN’s oder sonstwas dazwischen hat, versucht das Typo3 Backend, Rescourcen über http nachzuladen. Diese werden vom Browser blokiert.

Lösung:
Um SSL/HTTPS für Typo3 über Apache hinter nginX einzurichten muss man die Proxy-Einstellungen in der Typo3 Systemkonfiguration (Install Tool / LocalConfiguration.php) anpassen:
(Getestet mit Typo3 v6.2 LTS und v7.6 LTS)

Hintergrund:
nginX kummuniziert intern über http zu Apache. Die URL im Browser ist aber https. ohne die reverseProxy Einstellungen denkt typo3, es wäre im http modus und schreibt die entsprechnden Pfade ins HTML des backends.

Posted by: Roman Abt on 10. Februar 2017 @ 17:17
Filed under: apache,TYPO3,TYPO3 6.2,TYPO3 7 LTS

3 Comments »

  1. danke für den tipp!

    mein nginx reverse proxy läuft clustered auf zwei nodes: nn.nn.nn.21 und nn.nn.nn.22
    wie kann ich bei meinem typo3 backend server bei reverseProxyIP zwei ip adressen eintragen?
    regular expressions werden nicht verstanden, diese notationen funktionieren nicht:

    ‚reverseProxyIP‘ => ’nn.nn.nn.2[12]‘
    ‚reverseProxyIP‘ => ’nn.nn.nn.2*‘

    vielen dank für einen weiteren tipp und grüsse,
    raoul schaffner.

    Kommentar by Raoul Schaffner — 17. April 2018 @ 12:56

  2. lieber raul

    ich glaube es kann nur eine proxy IP geben. siehe zeile 2677 im quellcode:
    https://github.com/TYPO3/TYPO3.CMS/blob/master/typo3/sysext/core/Classes/Utility/GeneralUtility.php#L2677
    …da wird der wert unverarbeitet zurückgegeben.

    beste grüsse
    roman

    Kommentar by Roman Abt — 17. April 2018 @ 13:38

  3. super, nochmals danke für den tipp!
    habe im source code gestöbert und gefunden, dass bei der cmpIPv4 funktion octets angeschaut werden. die dürfen auch „*“ sein, also ist klar, dass meine beispiele nicht funktionieren konnten.
    was aber funktioniert, ist:

    ‚reverseProxyIP‘ => ’nn.nn.nn.*‘

    beste grüsse,
    raoul.

    Kommentar by Raoul Schaffner — 18. April 2018 @ 12:12

RSS feed for comments on this post. TrackBack URL

Leave a comment