Contao-Camp 2024
Ergebnis 1 bis 32 von 32

Thema: Contao 4 hinter SSL-Proxy - Kein CSS bei Aufruf der SSL Website

  1. #1
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard Contao 4 hinter SSL-Proxy - Kein CSS bei Aufruf der SSL Website

    Hallo Jungs,

    ich stecke derzeit etwas fest. Wir haben eine Contao 3.5 Version die wir auf 4.4 updaten. Alles kein Problem. Jetzt jedoch komme ich beim Umstellen auf SSL ein paar Schwierigkeiten.

    Was habe ich getan:

    Im Startpunkt der Website SSL aktiviert

    In der vhost-Datei bzw. ssl.conf

    Code:
    <VirtualHost *:443>
    DocumentRoot "D:/htdocs/map/web"
    ServerName etc.domain.de:443
    ServerAlias etc.domain.de
    DirectoryIndex index.html index.php
    		<Directory "D:/htdocs/map/web">
    						Order allow,deny
    			Allow from all
    			AllowOverride All
    		</Directory>

    in der htaccess unter

    D:htdocs/map/web

    Code:
    <IfModule mod_rewrite.c>
        RewriteEngine On
       # Force HTTPS
        RewriteCond %{HTTPS} off
        RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    
    .....
    Die Website wird geladen aber ohne CSS. Ohne SSL funktioniert die Website wie sie soll.

  2. #2
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Was mich verwundert:

    Im Quellcode steht:

    Code:
    <html lang="de">
    <head>
    
          <meta charset="utf-8">
        <title>Startseite (S) - [***]</title>
        <base href="http://etc.domain.de/">
    
              <meta name="robots" content="index,follow">
          <meta name="description" content="">
          <meta name="generator" content="Contao Open Source CMS">
        
        <meta name="viewport" content="width=device-width,initial-scale=1.0">

  3. #3
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Noch eine Ergänzung:

    Im Backend kann ich mich dann auch nicht mehr Anmelden. Die seite erscheint beim SSL ebenfalls ohne CSS. Nach Absenden der Logindaten lande ich wieder auf der Loginseite.

  4. #4
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    @Spooky hatte bei 3.5 Versionen auf den Eintrag von

    Code:
    $_SERVER['HTTPS'] = 1;
    in die Initconfig verwiesen. Aber diese Datei kann ich in einer Contao 4 Version nicht finden.

  5. #5
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.060
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hast du im Startpunkt den Haken bei "HTTPS verwenden" gesetzt?

  6. #6
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Jop der ist gesetzt.

  7. #7
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

  8. #8
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard


    Ich habe unter

    map/web/app.php

    folgendes eingetragen

    //SSL
    Request::setTrustedProxies(['1xx.xx.x.xx']);


    Noch vor:
    $request = Request::createFromGlobals();

    Das hatte jedoch keine Auswirkungen. Der Basetag bleibt bestehen auf http. Auch das CSS fehlt und ein Login ist nicht möglich! Habe auch den Cache gelöscht aber auch ohne ergebnis

  9. #9
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Ist es in deinem Fall überhaupt ein SSL Proxy?

  10. #10
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Ich gehe davon aus.

    Wir haben hier eine Firewall für unser Unternehmen. Hinter diesem liegt der Webserver.

    Für andere Anwendungen klappt das SSL extern auch (liegen auch auf dem Server)

    Bei Contao ist es wie folgt: Intern erhalte ich das Website ohne CSS etc und mit dem falschen basetag

    Extern erhalte ich die Meldung "to many redirections"

  11. #11
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Zitat Zitat von Acta Beitrag anzeigen
    Extern erhalte ich die Meldung "to many redirections"
    Ja, den Redirect musst du anders gestalten, da euer SSL Proxy mit eurem Webserver ohne SSL kommuniziert.

  12. #12
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Hast du da ne Idee ???

    Das Problem mit dem fehlenden CSS besteht dennoch weiterhin..

  13. #13
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Zitat Zitat von Acta Beitrag anzeigen
    Das Problem mit dem fehlenden CSS besteht dennoch weiterhin..
    Das CSS "fehlt" weil dein Base Tag falsch ist. Und dein Base Tag ist falsch, weil der SSL Proxy nicht über SSL mit dem Webserver kommuniziert und daher Contao (bzw. Symfony) auch nicht weiß, dass die Anfrage eigentlich über SSL kam.

    Hast du sicher die richtige IP eingetragen?

  14. #14
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    kann man den basetag manuell auf https ändern für frontend und backend?

  15. #15
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Das CSS "fehlt" weil dein Base Tag falsch ist. Und dein Base Tag ist falsch, weil der SSL Proxy nicht über SSL mit dem Webserver kommuniziert und daher Contao (bzw. Symfony) auch nicht weiß, dass die Anfrage eigentlich über SSL kam.

    Hast du sicher die richtige IP eingetragen?
    Hab die IP direkt aus den Verbindungseinstellungen des Browsers genommen. Von daher ja.. sollte der richtige sein!

  16. #16
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Verbindungseinstellungen des Browser? Damit meinst du deinen normalen HTTP Proxy? Ist das auch sicher der selbe Server, der als SSL Proxy für HTTPS von außen fungiert und das SSL Zertifikat zur Verfügung stellt?

  17. #17
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Antwort vom Techniker - ja!

    Gibt es denn irgendwie die möglich den base tag auf ssl zu forcen?

    Nur um mal zu testen obs dann geht?

  18. #18
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Du kannst es in deinem fe_page Template hardcoden.

  19. #19
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Du kannst es in deinem fe_page Template hardcoden.
    So lässt sich das Frontend intern per CSS bedienen. Backend ginge aber nach wie vor nicht.

    Extern habe ich nach wie for das Problem mit zu vielen Redirects.

  20. #20
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Zitat Zitat von Acta Beitrag anzeigen
    Extern habe ich nach wie for das Problem mit zu vielen Redirects.
    Ja, wie gesagt, da musst du andere RewriteRules benutzen, da euer SSL Proxy nicht über SSL mit eurem Webserver kommuniziert. Dadurch ist natürlichauch die "HTTPS" Variable nicht auf "on".

  21. #21
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Du kannst es in deinem fe_page Template hardcoden.
    Gibt es alternativ noch eine Möglichkeit (htaccess z.b.) der kompletten Website einschließlich backend zu sagen ..."ich habe den basetag" https?

  22. #22
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Contao muss einfach erkennen können, dass die Seite über HTTPS ausgeliefert wird.

    Mehr Infos zu Symfony hinter Reverse Proxies: https://symfony.com/doc/current/deployment/proxies.html

  23. #23
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    So. mit dem Eintragung in der APP-PHP funktioniert das ganze von Extern.

    Intern wird der request scheinbar noch einmal anders behandelt. Denn dort greift dann der eingetragene Proxy nicht.

  24. #24
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Wie greift ihr intern auf den Web Server zu?

  25. #25
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Der Aufruf heißt intern und extern https://etc.domain.de.
    Von Extern landet man auf der Firewall - der leidet die Anfrage dann auf den Server weiter und dort habe ich dann den vhost-Eintrag der ans Contao weiterleitet. Das Funktioniert so auch.

    Von Intern ist es der gleiche Aufruf nur wird dieser scheinbar nicht erst an die Firewall gegeben. Die HTTP Variante funktioniert intern ohne Probleme... die HTTPS Variante erkennt intern den base-tag nicht.

  26. #26
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Von welchem Server wird dann intern das SSL Zertifikat geliefert?

  27. #27
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Hey Spooky,

    ich konnte das Problem jetzt sowohl für intern und extern lösen.

    Für intern haben wir das SSL-Zertifikat noch einmal explizit im Vhost angegeben und für extern war ja der Eintragung in der APP.php notwendig.

    Vielen Dank schonmal für deine Hilfe.


    Jetz zwei Fragen: Das forcen auf SSL via vhost bzw. HTaccess führt jetzt, wie von dir bereits beschrieben, zu einem redirect Problem.
    Hast du eine Idee wie ich denoch die HTTP-Variante verbannen kann?

    Und zweitens: die Eintragungen in der app.php werden ja bei einem Update von Contao ggf. gelöscht. Gibt es eine Möglichkeit die Eintragung irgendwo auszulagern?
    Geändert von Acta (30.09.2019 um 15:18 Uhr)

  28. #28
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Zitat Zitat von Acta Beitrag anzeigen
    Jetz zwei Fragen: Das forcen auf SSL via vhost bzw. HTaccess führt jetzt, wie von dir bereits beschrieben, zu einem redirect Problem.
    Hast du eine Idee wie ich denoch die HTTP-Variante verbannen kann?
    zB:
    Code:
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    Vorausgesetzt euer Reverse Proxy schickt das so mit.



    Zitat Zitat von Acta Beitrag anzeigen
    Und zweitens: die Eintragen in der app.php werden ja bei einem Update von Contao ggf. gelöscht. Gibt es eine Möglichkeit die Eintragung irgendwo auszulagern?
    Du könntest, wie auch im GitHub Ticket erwähnt, einen eigenen Einstiegspunkt machen (und die .htaccess / Server Konfiguration dementsprechend anpassen).

  29. #29
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    [QUOTE=Spooky;511782]zB:
    Code:
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    Vorausgesetzt euer Reverse Proxy schickt das so mit.


    Erstaunliches Ergebnis:
    extern funktioniert das, intern erhalte ich "too many redirects." Also genau andersrum zum bisherigen Standard :-)

  30. #30
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Ja, ist logisch. Jetzt musst du halt beide Fälle abdecken . Eigentlich sollte dir da euer Server Administrator helfen...

  31. #31
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.883
    Partner-ID
    10107

    Standard

    Ich denke es reicht, wenn deine Anweisung insgesamt
    Code:
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    lautet.

  32. #32
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Ja, ist logisch. Jetzt musst du halt beide Fälle abdecken . Eigentlich sollte dir da euer Server Administrator helfen...
    Code:
        RewriteEngine On
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    Funktioniert bei mir jetzt.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •