Hallo Leute!

Ich fluche seit gestern gegen dieses Problem...
Also, wir haben einen Server, der als Reverse-Proxy dient. Dann haben wir einen anderen Server, der die ganze Anfragen (mit Typo3) verarbeitet.
Alle diese Server nutzen Apache 2.4.18.

Ich habe den Proxy so konfiguriert (Abschnitt):

<VirtualHost *:443>
    ServerName test.blah.de

    SSLEngine On
    SSLProxyEngine on
    Include common/cert.blah.de.conf

    <Location "/">
        Header always set Strict-Transport-Security "max-age=16416000"
        #Header always set X-Frame-Options DENY
        RequestHeader set X-Forwarded-Ssl on
        RequestHeader set X-Forwarded-Proto https
        RequestHeader set X-Forwarded-Port 443
        RequestHeader set SSL_CLIENT_CERT %{SSL_CLIENT_CERT}e
        RequestHeader set SSL_PROTOCOL %{SSL_PROTOCOL}e
        RequestHeader set SSL_CIPHER %{SSL_CIPHER}e
        RequestHeader set SSL_SESSION_ID %{SSL_SESSION_ID}e
        RequestHeader set SSL_CIPHER_USEKEYSIZE %{SSL_CIPHER_USEKEYSIZE}e
        RequestHeader set SSL_CLIENT_VERIFY %{SSL_CLIENT_VERIFY}e

ProxyPass "http://intern.blah.de/"; min=3 acquire=30000 connectiontimeout=15 timeout=300 retry=5 keepalive=on ttl=600
        ProxyPassReverse  "http://intern.blah.de/";

        Require all granted
    </Location>
CacheQuickHandler off
CacheIgnoreHeaders Set-Cookie
CacheLock on
CacheLockPath /tmp/mod_cache-lock
CacheLockMaxAge 5
CacheDetailHeader on
CacheRoot /tmp/c
CacheEnable disk /
CacheDirLevels 5
CacheHeader on
CacheDefaultExpire 600
CacheMaxExpire 86400
CacheLastModifiedFactor 0.5
CacheMaxFileSize 1000000
CacheMinFileSize 1
ExpiresActive on
ExpiresDefault "access plus 10 minutes"
Header merge Cache-Control public
Header Set Pragma "no-cache"
FileETag All
CacheIgnoreHeaders Set-Cookie X-Cache
CacheIgnoreCacheControl On

    Include common/errorPages.conf
</VirtualHost>

Nun passiert folgendes: wenn ich eine Anfrage schicke, MANCHMAL wird diese gecacht, manchmal aber nicht... Ich sehe bei dem Transfer-Log des Backend-Servers dass mal eine Anfrage kommt, mal nicht, absolut zufällig.
Wenn ich mit cURL die Anfrage schicke, sehe ich auch folgende Antwort-Headers:

< HTTP/1.1 200 OK
< Date: Wed, 07 Dec 2016 08:01:06 GMT
* Server Apache is not blacklisted
< Server: Apache
< Vary: api-authorisation-key,debug
< Cache-Control: max-age=600, public
< Expires: Wed, 07 Dec 2016 08:11:06 GMT
< Strict-Transport-Security: max-age=16416000
< Age: 14
< X-Cache: HIT from test.blah.de
< X-Cache-Detail: "cache hit" from test.blah.de
< Content-Length: 4
< Content-Type: text/html; charset=UTF-8

oder so:

< HTTP/1.1 200 OK
< Date: Wed, 07 Dec 2016 08:01:22 GMT
* Server Apache is not blacklisted
< Server: Apache
< Strict-Transport-Security: max-age=16416000
< Vary: api-authorisation-key,debug
< Content-Type: text/html; charset=UTF-8
< Cache-Control: max-age=60, public
< Expires: Wed, 07 Dec 2016 08:02:22 GMT
< X-Cache: MISS from test.blah.de
< Transfer-Encoding: chunked

je nachdem, ob der Inhalt von der Cache kommt oder nicht.
Aber warum mehrere Anfragen nacheinander nicht alle von der Cache kommen, erkläre ich mir nicht... Und ich kann mir auch nicht erklären, warum ein einfaches PHP-Skript ab und zu gecacht wird, aber die Typo3-Seiten überhaupt nicht.

Hat jemand eine Erklärung und vielleicht kann er sogar mir helfen, das Problem zu lösen?

Besten Dank
Luca Bertoncello
([email protected])


Antwort per Email an