Ich weiß, dass Varnish HTTPS-Verbindungen nicht zwischenspeichert. Speichert der Apache-Traffic-Server HTTPS zwischen?
Wenn nein, gibt es eine Möglichkeit, Apache + Varnish + WordPress so zu konfigurieren, dass https zwischengespeichert wird?
Antwort1
HTTPS kann in verschlüsselter Form nicht zwischengespeichert werden. Sie müssen einen SSL-Terminierungsproxy vor Varnish setzen, um den Datenverkehr zu entschlüsseln und Varnish dann den Inhalt zwischenspeichern zu lassen.
Sie können Apache verwenden, um die SSL-Terminierung durchzuführen, indem Sie mod_proxy und die Anweisungen verwendenProxyPassUndProxyPassReversein Ihrer Vhost-Konfiguration.
Sie können auch diese beiden Softwareprogramme überprüfen:
- Haproxy
- Anhängerkupplungvon Varnish-Software, die für diese Aufgabe entwickelt wurde
Antwort2
Es gibt keine Möglichkeit, HTTPS-Verkehr zwischenzuspeichernwährend es verschlüsselt ist, weil der Cache keine Ahnung hat, was angefordert wird oder was als Antwort zurückgegeben wird.
Die einzige Möglichkeit hierzu besteht darin, die TLS-Verbindung beim oder „vor“ dem Cache zu beenden, den Caching-Vorgang für den unverschlüsselten Datenverkehr auszuführen und dann (optional) den Cache eine weitere TLS-Verbindung zum Ursprungsserver herstellen zu lassen, um die Anforderung zu stellen.
Zu den gängigen Technologien (aber bei weitem nicht die einzigen Optionen) zum Beenden von TLS-Verbindungen und Weiterleiten an einen Caching-Proxy zählen stunnel
, pound
, und haproxy
. Nachdem Sie die TLS-Verbindung beendet haben, können Sie für das Caching einen beliebigen Caching-Proxy (einschließlich Varnish) verwenden.