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])