Squid cache_peer: Ein Forward-Parent ist kein originserver
Entfernen Sie die Origin-Server-Annahme, wenn der nächste Hop von Squid ein gewöhnlicher Forward-Proxy ist und nicht die Website, die die Ressource bereitstellt.
Eine cache_peer-Zeile kann einen Parent benennen und Squid dennoch anweisen, mit ihm zu sprechen, als wäre er die Origin-Website.
Der verantwortliche Schalter ist originserver. Squid dokumentiert ihn für Accelerator-Setups, in denen der Peer ein Webserver ist. Er ist kein allgemeines Flag mit der Bedeutung „die ursprüngliche Anfrage über diesen Parent senden“.
Ist der nächste Hop ein gewöhnlicher HTTP-Forward-Proxy, prüfen Sie, ob dieses Flag dort überhaupt hingehört. Eine einfache Parent-Deklaration sieht stattdessen so aus:
cache_peer parent.example parent 8080 0 no-query name=upstreamDer Parent kann Ihr eigener Dienst sein; für einen erlaubten Public-Parent-Test ohne konfigurierte Parent-Proxy-Zugangsdaten nehmen Sie einen HTTP-Kandidaten aus der HTTP-Proxy-Liste. Behalten Sie die vorgesehene Client-Autorisierung, Peer-Eignung, Authentifizierung und Direct-Fallback-Richtlinie bei. Dieser Auszug benennt nur die Rolle des Peers.
proxy-only, das manchmal neben originserver kopiert wird, betrifft das Speichern von Objekten, die von diesem Peer abgerufen wurden. Beide Flags auf einmal zu entfernen belegt nicht, dass beide den Protokollfehler verursacht haben.
Sehen Sie, was der nächste Dienst erwartet: eine Website-Anfrage, eine Forward-Proxy-Anfrage oder einen Tunnelaufbau-Austausch. Ein gültiger Hostname und ein erreichbarer Port machen diese Verträge nicht austauschbar. Die Peer-Rolle zu korrigieren ist gezielter, als wiederholt TLS-Zertifikate auf einer Verbindung zu wechseln, deren Anfragesemantik falsch war.