Arrêtez la caching des calins 302 et 307 avec deny_info

TLDR: 302, 307 et les pages d'erreur sont mises en cache. Il faut forcer un rafraîchissement du contenu.

Version longue: j'ai configuré une instance de calmars très minimale s'exécutant sur une passerelle qui ne doit pas mettre en cache TOUT, mais doit uniquement être utilisée comme filter Web basé sur le domaine. J'utilise une autre application qui redirige les users non authentifiés vers le proxy qui utilise ensuite l'option deny_info redirige toute request non-inscrite sur la list sur la page de connection. Une fois l'user authentifié, la règle du pare-feu est placée afin qu'elles ne soient plus envoyées au proxy.

Le problème est que lorsqu'un user frappe un site Web (xkcd.com), ils ne sont pas authentifiés afin qu'ils soient redirigés via le pare-feu:

iptables -A unknown-user -t nat -p tcp --dport 80 -j REDIRECT --to-port 39135 

à la proxy à ce point, Squid redirige l'user vers la page de connection à l'aide d'un 302 (j'ai également essayé 307, et je m'assure également que les en-têtes sont configurés pour ne pas mettre en cache et / ou sans magasin pour Cache-Control et Pragma). Ensuite, lorsque l'user se connecte au système, il obtient une règle de pare-feu qui ne les dirige plus vers le proxy Squid. Mais s'ils vont à xkcd.com à nouveau, ils auront la page de redirection d'origine mis en cache et obtiendra une fois de plus la page de connection.

Une idée de la façon de forcer ces redirections à NE PAS être caching par le browser? Peut-être que c'est un problème avec les browsers et pas les calmars, mais pas sur la façon de le contourner.

Configuration de squid complet ci-dessous.

 # # Recommended minimum configuration: # acl manager proto cache_object acl localhost src 127.0.0.1/32 ::1 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1 acl localnet src 192.168.182.0/23 # RFC1918 possible internal network acl localnet src fc00::/7 # RFC 4193 local private network range acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines acl https port 443 acl http port 80 acl CONNECT method CONNECT # # Disable Cache # cache deny all via off negative_ttl 0 seconds refresh_all_ims on #error_default_language en # Allow manager access only from localhost http_access allow manager localhost http_access deny manager # Deny access to anything other then http http_access deny !http # Deny CONNECT to other than secure SSL ports http_access deny CONNECT !https visible_hostname gate.ovatn.net # Disable memory pooling memory_pools off # Never use neigh cache objects for cgi-bin scripts hierarchy_stoplist cgi-bin ? # # URL rewrite Test Settings # #acl whitelist dstdomain "/etc/squid/domains-pre.lst" #url_rewrite_program /usr/lib/squid/redirector #url_rewrite_access allow !whitelist #url_rewrite_children 5 startup=0 idle=1 concurrency=0 #http_access allow all # # Deny Info Error Test # acl whitelist dstdomain "/etc/squid/domains-pre.lst" deny_info http://login.domain.com/ whitelist #deny_info ERR_ACCESS_DENIED whitelist http_access deny !whitelist http_access allow whitelist http_port 39135 transparent ## Debug Values access_log /var/log/squid/access-pre.log cache_log /var/log/squid/cache-pre.log # Production Values #access_log /dev/null #cache_log /dev/null # Set PID file pid_filename /var/run/gatekeeper-pre.pid 

One Solution collect form web for “Arrêtez la caching des calins 302 et 307 avec deny_info”

Je crois que j'aurais trouvé une solution à cela. Après des jours et des jours essayant de comprendre, seulement par un truc random que j'ai trouvé

 client_persistent_connections off server_persistent_connections off 

Cela a fait l'affaire. Donc, ce n'était pas tellement de cache, car il s'agissait d'une seule et même connection persistante. W000T!

  • Outline squid server - redirect le trafic avec pf
  • Squid HTTPS intercepte génère certifecate pour IP au lieu de nom d'hôte
  • Est-ce un bon moyen d'installer SQUID sur Windows?
  • Comment servir un site Web tiers via mon proxy, mais modifier le contenu avant qu'il ne soit affiché?
  • Comment configure-t-il le proxy squid3 pour l'authentification http - rapide et sale
  • HTTPS Filtrage de contenu sans désamorcer le trafic à l'aide de calmars?
  • Les en-têtes de réponse affectent-ils la façon dont Chrome traite les pages?
  • Squid ou autres caches HTTP avec magasin de cache SSD?
  • Authentification Squid / Kerberos avec Linux uniquement
  • Squid: contenu du cache pour n minutes peu importe
  • Squid Kerberos / LDAP Active Directory ne fonctionne que sur IE pas sur Firefox et chrome
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.