Keine clientseitige Zwischenspeicherung in headless Chrome mit Proxy-Server?

525
Neil C. Obremski

(Ich denke, das hat mehr mit der Softwarekonfiguration zu tun, als mit der Programmierung, weshalb ich hier statt StackOverflow gepostet habe.)

Ich habe ein paar Tage getestet und gesucht, es scheint zu diesem Problem und es wurde keine Lösung gefunden. Ich automatisiere Chrome via Chromedriver (speziell mit Selenium in Python) und spezifiziere beides --proxy-serverund --user-data-dir. Wenn ich Chrome starte, funktioniert das normalerweise einwandfrei und ich sehe ein CacheVerzeichnis mit neuen Dateien. Wenn ich jedoch Chrome headless starte, werden weder ein Cache-Verzeichnis noch Dateien angezeigt.

Der Proxyserver ist mein eigener lokaler Squid- Server, sodass ich den Datenverkehr oder zumindest die für TLS / SSL geöffneten Tunnel pro Domäne sehen kann. Die Anzahl der Verbindungen für externe Ressourcen ist die gleiche, selbst wenn die gleiche Seite zweimal aufgerufen wird. Dies bedeutet, dass sie eigentlich nichts aus dem Cache lädt, unabhängig davon, ob der Headless-Modus verwendet wird oder nicht.

Meine Frage: Ist es möglich, Chrome so zu konfigurieren, dass ein clientseitiger Cache verwendet wird, wenn ein Proxyserver verwendet wird? Und wenn ja, wie?

PS - Das ultimative Ziel ist es, headless Chrome mit einem authentifizierten Proxy zu verwenden, etwas, das in headless Chrome selbst nicht möglich ist. Daher habe ich Squid in der Mitte mit einem cache_peerkonfigurierten verwendet. Das Problem mit Squid besteht darin, dass es den HTTPS-Verkehr nicht zwischenspeichern kann, und das sind heutzutage die meisten Websites.

0
Squid ist in der Lage, https-Datenverkehr zwischenzuspeichern, und dies für jede Website, deren Inhalt als zwischenspeicherbar gekennzeichnet ist. Standardmäßig wird der von https bereitgestellte Inhalt als nicht zwischengespeichert (im Gegensatz zu http, das standardmäßig als öffentlich eingestuft wird). Der Remoteserver muss also geeignete Cache-Control-Header senden, viele https-Sites jedoch nicht. Michael Hampton vor 5 Jahren 0
@MichaelHampton Ich konnte Squid nicht dazu bringen, https-Inhalte zwischenzuspeichern, obwohl er in Ordnung ist. Der gesamte https-Inhalt wird mit "TCP_TUNNEL" protokolliert, selbst für Inhalte, für die ich Cache-freundliche Antwortheader bestätigt habe. Wenn ich falsch liege, können Sie Ihre 2 Cent zu https://stackoverflow.com/questions/18725987 hinzufügen Neil C. Obremski vor 5 Jahren 0
Wenn Sie TCP durch das Tunneling tunneln, kann es natürlich nichts zwischenspeichern. Michael Hampton vor 5 Jahren 0
@MichaelHampton Es tut mir leid, ich bin kein Squid-Experte und ich habe nicht herausgefunden, wie er sich so verhält, wie ich es gerne hätte. Das ist der Punkt all dieser Q & A-Sites, weil andere Leute versuchen, die gleichen Dinge herauszufinden. Wenn ich die Geheimnisse von Squid entdecken kann, kann ich ein paar gute Antworten schreiben und viele Geheimnisse ausruhen. Neil C. Obremski vor 5 Jahren 0

0 Antworten auf die Frage