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 (lucabert@lucabert.de)