Hi, I'm looking to setup a reverse proxy with Squid. It will be sitting at the "back end" of my application stack, i.e. it won't be accessed directly from the outside world. I need to be able to do the following things: 1. Force an item in the cache to expire now (i.e. the next time something accesses it, it will get it from the origin) 2. Force an item in the cache to be refreshed immediately from the origin 3. Ensure requests to the origins are minimised, i.e. if a whole lot of requests come in for the same item, it won't duplicate those requests to the origin unneccesarily. 4. Allow querying of different items in the cache for operational purposes 5. Run two separate instances (on different machines) that are consistent, and things will continue to work more or less should one of them fail I was just wondering if Squid is suitable for this purpose? #5 could be achieved through OS clustering (will be running on Solaris), but would be interested to hear from anyone who's run this sort of setup before, or any other advice anyone has to offer? Thanks in advance, Sam.