Ergebnis 1 bis 14 von 14

Thema: Skripte werden nur nach temporärer Deaktivierung des Browser-Schutzes geladen

  1. #1
    Contao-Nutzer
    Registriert seit
    08.01.2019.
    Beiträge
    27

    Standard Skripte werden nur nach temporärer Deaktivierung des Browser-Schutzes geladen

    Hallo liebe Community,

    ich habe einen Kunden, dessen Hoster ein kleines Unternehmen ist, mit denen ich richtig Schwierigkeiten hatte, Contao zum Laufen zu bringen.

    Nach fast einjährigem(!) Hin- und Her habe ich es geschafft, Contao 4.9.24 (PHP 7.4) zu installieren und eine alte Seite von Contao 3 hierher umzuziehen.

    Das Ganze passiert auf einer Subdomain ohne SSL-Zertifikat; die Zieldomain für den Live-Betrieb am Ende hat SSL.

    Bei der Entwicklung auf der Subdomain muss ich immer im Browser den Schutz deaktivieren, damit die Skripte (CSS,JS) geladen werden (BE und FE), sonst ist alles blankes HTML. Dabei dachte ich mir nichts weiter, weil ja kein SSL-Zertifikat vorliegt, und bestimmt auf der Hauptdomain am Ende ja bestimmt alles geht. Der Contao-Manager läuft ganz wie gewohnt.

    Aber auch wenn die Hauptdomain mit vorliegendem SSL-Zertifikat auf die Installation zeigt, sehe ich die krude HTML-Seite ohne CSS und JS. Wenn ich im Backend "HTTPS verwenden" anklicke (Seitenstruktur Startpunkt), dann kriege ich "ERR_TOO_MANY_REDIRCETS" und keine Seite wird angezeigt.

    Dann habe ich web/assets gelöscht und in der Systemwartung habe ich alles durchgeführt und Composer Install und Produktionscache-Erneuerung ebenfalls.

    Ich habe wieder auf die Subdomain zurückgerudert und den Live-Betrieb nicht zu lange zu verhindern und wollte nun nach den Fehlerursachen suchen, bin aber nach einigen Tagen Google-Recherche nicht fündig geworden.

    Der Hoster sagt mir nur, es muss an meiner .htaccess liegen (die habe ich original gelassen).

    Wenn mir jemand einen Denkanstoß geben mag, wäre ich euch sehr dankbar!

    VG,
    K

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

    Standard

    Poste die URL und deine .htaccess
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    08.01.2019.
    Beiträge
    27

    Standard

    Danke für die schnelle Antwort!

    URL: http://2022.chamaeleon-produktion.de/

    .htaccess:

    Code:
    <IfModule mod_rewrite.c>
        RewriteEngine On
    
        <IfModule mod_headers.c>
            # Assets in /assets and /bundles either contain a hash in their filename
            # or are called with a ?version suffix, therefore cache them for 1 year.
            RewriteRule ^(assets|bundles)/ - [ENV=CONTAO_ASSETS:true]
            Header set Cache-Control "max-age=31536000" env=CONTAO_ASSETS
    
            # Allow CORS on the Contao TinyMCE skin.
            RewriteRule ^assets/tinymce4/js/skins/contao/fonts/ - [ENV=CONTAO_TINYMCE_SKIN:true]
            Header set Access-Control-Allow-Origin "*" env=CONTAO_TINYMCE_SKIN
        </IfModule>
    
        # Determine the RewriteBase automatically and set it as environment variable.
        # If you are using Apache aliases to do mass virtual hosting or installed the
        # project in a subdirectory, the base path will be prepended to allow proper
        # resolution of the index.php file and to redirect to the correct URI. It will
        # work in environments without path prefix as well, providing a safe, one-size
        # fits all solution. But as you do not need it in this case, you can comment
        # the following 2 lines to eliminate the overhead.
        RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
        RewriteRule ^(.*) - [E=BASE:%1]
    
        # Sets the HTTP_AUTHORIZATION header removed by Apache
        RewriteCond %{HTTP:Authorization} .
        RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    
        # Redirect to URI without front controller to prevent duplicate content
        # (with and without `/index.php`). Only do this redirect on the initial
        # rewrite by Apache and not on subsequent cycles. Otherwise we would get an
        # endless redirect loop (request -> rewrite to front controller ->
        # redirect -> request -> ...).
        # So in case you get a "too many redirects" error or you always get redirected
        # to the start page because your Apache does not expose the REDIRECT_STATUS
        # environment variable, you have 2 choices:
        # - disable this feature by commenting the following 2 lines or
        # - use Apache >= 2.3.9 and replace all L flags by END flags and remove the
        #   following RewriteCond (best solution)
        RewriteCond %{ENV:REDIRECT_STATUS} ^$
        RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]
    
        # If the requested filename exists, simply serve it.
        # We only want to let Apache serve files and not directories.
        RewriteCond %{REQUEST_FILENAME} -f
        RewriteRule ^ - [L]
    
        # Rewrite all other queries to the front controller.
        RewriteRule ^ %{ENV:BASE}/index.php [L]
    </IfModule>
    
    <IfModule !mod_rewrite.c>
        <IfModule mod_alias.c>
            # When mod_rewrite is not available, we instruct a temporary redirect of
            # the start page to the front controller explicitly so that the website
            # and the generated links can still be used.
            RedirectMatch 302 ^/$ /index.php/
            # RedirectTemp cannot be used instead
        </IfModule>
    </IfModule>

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

    Standard

    Du hast in deinen Assets tlw. referenzen auf https://www.chamaeleon-produktion.de/ drin. zB:
    Code:
    .mobile_menu .inner {
        background: black url('https://www.chamaeleon-produktion.de/files/layout_2018/footer_bg.svg') no-repeat 0/contain
    }
    Evt. wird deswegen die ganze CSS Ressource geblocked, weil es sich um eine andere Domain handelt.
    » sponsor me via GitHub or PayPal or Revolut

  5. #5
    Contao-Nutzer
    Registriert seit
    08.01.2019.
    Beiträge
    27

    Standard

    Danke nochmal fürs fixe Antworten.

    Ich habe mal probiert, alle CSS-Dateien und verlinkte Skripte aus dem Layout zu verbannen, aber leider ohne Erfolg. Ich hatte auch wenig Hoffnung, da ja das Contao-Backend auch betroffen ist und als die Seite auf der Hauptdomain lief, stimmten folglich die Links im CSS und trotzdem hatte ich das Problem.

    Für weitere Hinweise bin ich nach wie vor unendlich dankbar.

    VG,
    K

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

    Standard

    Aktuell lässt du auf https:// weiterleiten. Der <base href> hat aber http:// drin. Vermutlich befindet sich deine Installation hinter einem Reverse Proxy (evt. nur für das SSL Zertifikat, kommt oft vor). Dazu musst du die IP des Proxy Servers in der TRUSTED_PROXIES Umgebungsvariable einfügen. https://docs.contao.org/dev/referenc...rusted-proxies
    » sponsor me via GitHub or PayPal or Revolut

  7. #7
    Contao-Nutzer
    Registriert seit
    08.01.2019.
    Beiträge
    27

    Standard

    Danke für die Antwort.

    Meine Kenntnis bzgl. Proxies etc. ist sehr beschränkt, aber ich befürchte, die IP muss mir der Hoster sagen?

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

    Standard

    Ja. Warum "befürchtest" du das?
    » sponsor me via GitHub or PayPal or Revolut

  9. #9
    Contao-Nutzer
    Registriert seit
    08.01.2019.
    Beiträge
    27

    Standard

    Die Kommunikation ist halt nicht das Leichteste

    Danke für den Hinweis, ich habe nachgefragt und die public IP erhalten. Ich habe es folgendermaßen in die config/config.yml eingetragen:

    [CODE]
    contao:
    TRUSTED_PROXIES=x.x.x.x
    [CODE]

    Dies hat nach Produktions-Cache-Erneuerung leider keine Besserung ergeben. Ist die public IP die richtige oder geht es nur mit der lokalen? Ist "contao:" die richtige Umgebungsvariable hier?

  10. #10
    Contao-Nutzer
    Registriert seit
    08.01.2019.
    Beiträge
    27

    Standard

    huch, so sollte es aussehen:

    Code:
    contao:
        TRUSTED_PROXIES=x.x.x.x

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

    Standard

    Nein, das ist eine Umgebungsvariable, das trägst du in deiner .env bzw. .env.local ein.
    » sponsor me via GitHub or PayPal or Revolut

  12. #12
    Contao-Nutzer
    Registriert seit
    08.01.2019.
    Beiträge
    27

    Standard

    Danke nochmals für die schnelle Hilfe.

    Auch mit diesem Code in der .env bleibt das Problem leider bestehen (IP immer von mir verschleiert):

    Code:
    TRUSTED_PROXIES=x.x.x.x

  13. #13
    Contao-Nutzer
    Registriert seit
    08.01.2019.
    Beiträge
    27

    Standard

    Habe es gelöst bekommen.

    Falls jemand dasselbe Problem hatte:

    Der Code musste exakt so in die .env (im root, nicht /web) eingefügt werden (keine externe IP):

    Code:
    TRUSTED_PROXIES=127.0.0.1,REMOTE_ADDR
    Dann kann auch bei Reverse Proxies der Haken für "HTTPS" in der Contao Backend Seitenstruktur gesetzt werden (bzw. in 4.13 aus dem Dropdown gewählt werden). Keine TOO_MANY_REDIRECTS mehr.

    Danke nochmal für die Hilfe!

    Viele Grüße

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

    Standard

    So ist das aber potentiell unsicher, da du damit jede IP erlaubst.
    » sponsor me via GitHub or PayPal or Revolut

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
  •