Contao-Camp 2024
Seite 2 von 2 ErsteErste 12
Ergebnis 41 bis 51 von 51

Thema: Contao Cache immer "private", kein public/shared Cache möglich?

  1. #41
    Contao-Fan
    Registriert seit
    26.05.2013.
    Ort
    Berlin
    Beiträge
    381

    Standard

    Ich wärme diesen Thread nochmal auf, @BugBuster schrieb zu Beginn des Threads
    kein public/shared Cache möglich?
    Seit Umstellung von 4.4.LTS auf 4.9.LTS (derzeit aktuell 4.9.10) habe ich die selbigen Cache-Allüren.
    Das Verzeichnis /var/cache/prod//http_cache/ beinhaltet nur wirre leere Unterverzeichnisse mit Buchstaben; unter 4.4.LTS war es gut gefüllt. Private-Cache und Shared-Cache ist aktiviert im Startpunkt

    Nach Lesen vieler relevanter Threads wie u.a. https://community.contao.org/de/show...richtenteasern und der Contao Docs erahne ich, dass der CSRF-Cookie die Ursache ist?
    @tab und @spooky lieferten interessante Hinweise - besten Dank dafür.
    Der Response Header liefert für alle Seiten contao-cache: miss.

    Code:
    HTTP/2 200
    date: Thu, 10 Dec 2020 20:56:45 GMT
    server: Apache/2.4.43 (Unix)
    cache-control: max-age=86400, private
    x-powered-by: PHP/7.3.24
    vary: Origin
    x-content-type-options: nosniff
    referrer-policy: no-referrer-when-downgrade, strict-origin-when-cross-origin
    x-frame-options: SAMEORIGIN
    x-xss-protection: 1; mode=block
    contao-private-response-reason: session-cookie
    contao-cache: miss
    age: 1
    content-length: 74058
    content-type: text/html; charset=utf-8
    set-cookie: csrf_https-contao_csrf_token=v4cEKqZNGwGnnvkdeL5WM9GAsxLuEApR5pZxrBxukXw; path=/; secure; httponly; samesite=lax
    Ansonsten habe ich die Standard .htaccess mit
    Code:
    Header set Cache-Control "max-age=31536000" env=CONTAO_ASSETS
    Ich hab mal etwas spioniert, bezeichnenderweise liefern auch viele Seiten der Contao-Fallstudien und auch die demo.contao.org contao-cache: miss; jedoch contao.org liefert contao-cache: fresh. Seitenladezeiten sind auch durchwachsen von blitzschnell bis mehrere Sekunden.

    Wenn ich das richtig verstanden habe, wird der CSRF-Cookie auf Seiten mit Anmeldeformularen und/oder Kontaktformularen gesetzt und man sollte auf diesen Seiten den Cache in den Seiteneinstellungen deaktivieren. Geholfen hat das noch nichts.
    Ich habe auf jeder Seite in der Fußzeile ein kleines Kontaktformular, dass scheinbar durchgängig verantwortlich für den CSRF-Cookie ist?

    Mir ist die Sache eigentlich nur aufgefallen, weil die Seitenladezeiten jetzt unter 4.9 LTS manchmal bis knapp unter 10 s betragen (unter 4.4 LTS betrugen die nur ein Bruchteil davon), und da dachte ich das ist nicht sehr erfreulich und ob man das reduzieren könnte ...
    Vielleicht hat jemand noch ein paar Tricks oder Stellschrauben wo man den Zustand verbessern könnte - die ich dankenswerterweise gern annehme.

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

    Standard

    In deinem Response Header steht:
    Code:
    contao-private-response-reason: session-cookie

  3. #43
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.496
    User beschenken
    Wunschliste

    Standard

    Da hänge ich mich mal ran. Bei mir kommt auf allen Seiten immer:
    Code:
    contao-private-response-reason:	authorization
    Was sagt mir das? Ich habe keinerlei Formulare, Logins oder ähnliches auf der Seite.

    Ich vermute mal, das eine Erweiterung bei jedem Aufruf prüft ob ein Nutzer angemeldet ist oder nicht, aber das sollte doch nicht zum Cache Desaster führen, oder?
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  4. #44
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.496
    User beschenken
    Wunschliste

    Standard

    Achja, ich hab ein Update gemacht und musste die index.php wieder anpassen. Uberspace sendet ja immer einen HTTP_AUTHORIZATION Header, und auch wenn der leer ist, meint Symfony, das wäre ein Login.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  5. #45
    Contao-Fan
    Registriert seit
    26.05.2013.
    Ort
    Berlin
    Beiträge
    381

    Standard

    @Bugbuster danke; bin jetzt näher dran an der Sache. Habe im Rocksolid-Template den Cookie-Hinweis zunächst deaktiviert,
    jetzt erhalte ich erstmalig Set-Cookie: PHPSESSID ....
    Browsertool meldet jetzt:
    Code:
    :status: 200
    Content-Type: text/html; charset=utf-8
    X-XSS-Protection: 1; mode=block
    Age: 0
    Set-Cookie: PHPSESSID=ujoncqnvt8obhuge406am246sf; path=/; secure; httponly
    Referrer-Policy: no-referrer-when-downgrade, strict-origin-when-cross-origin
    Cache-Control: max-age=86400, private
    Date: Sat, 19 Dec 2020 00:21:21 GMT
    Content-Length: 72023
    X-Content-Type-Options: nosniff
    X-Frame-Options: SAMEORIGIN
    Vary: Origin
    x-powered-by: PHP/7.3.25
    Server: Apache/2.4.43 (Unix)
    contao-cache: miss
    contao-private-response-reason: session-cookie
    Header-Abfrage über curl auf der Konsole ergibt weiterhin
    Code:
    contao-private-response-reason: session-cookie
    Mal sehen ob ich mich jetzt über das PHPSESSID weiterkomme, dazu gibt es ja etliche Treads .., oder ich muss mal die eingebauten Module nacheinander abschalten; ich bleibe dran ..

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

    Standard

    Wenn bei dir eine Session aktiv ist, wird by default nichts aus dem Cache ausgegeben.

    Außer du aktivierst "Immer aus dem shared cache laden" - aber dann kannst du keine individualisierten Inhalte ausgeben.

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

    Support Contao

    Standard

    Wenn wir mal davon ausgehen, dass der CSRF-Cookie das Problem ist und dieser wegen des Formulars auf allen Seiten aktiv ist, warum nicht aus den Seiten rausnehmen und durch einen Link auf eine gesonderte Seite mit dem Kontaktformular ersetzen? Was allerdings zu beachten ist: Sobald ein Besucher diese Seite aufgerufen hat ist der Cookie gesetzt und es geht danach dann wieder ohne Cache weiter.

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

    Standard

    Das CSRF Token Cookie wird wieder entfernt, wenn es nicht gebraucht wird.

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

    Support Contao

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Das CSRF Token Cookie wird wieder entfernt, wenn es nicht gebraucht wird.
    Stimmt, gerade getestet. War das schon immer so?

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

    Standard

    In der 4.9 denke ich ja.

  11. #51
    Contao-Fan
    Registriert seit
    26.05.2013.
    Ort
    Berlin
    Beiträge
    381

    Standard 4.9. LTS Cache-Problem gelöst:

    Besten Dank für die Hinweise von @Spooky und @tab
    Seitdem ich im Seitenlayout aus Kopf- und Fußzeilen vorhandene Formulare und Logins rigoros entfernt habe, diese jetzt auf separate Seiten verlinke und für diese separaten Seiten den Cache deaktiviert habe, funktioniert nun auch der komplette Seitencache und ich bekomme endlich contao-cache: fresh . Nutzung von Login und Kontaktformular ist sehr gering, so dass es zumutbar ist, auf eine zentrale Seite zu verlinken.
    Cookies tauchen keine mehr auf, nur während aktiver Anmeldung am Frontend ist der per default gesetzte CSRF Token Cookie aktiv.

    Die zusätzliche Verwendung der .env-Datei
    Code:
    COOKIE_WHITELIST=PHPSESSID,csrf_https-contao_csrf_token
    erzeugt mit Firefox/Win10 beim Backend-Login immer ein Ungültiges Anfrage-Token, welches nach Aufrufen des Installtools einmalig wieder weg ist, andererseits zeigt Safari/Mac dieses Verhalten nicht. Deshalb habe ich die .env generell nicht in Benutzung.

    Für die Starteite funktioniert der Cache auch, der Thread scheint für 4.9. LTS nicht relevant zu sein:
    https://community.contao.org/de/show...der-Startseite

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
  •