Caching doesn't work for HTTPS unless you man-in-the-middle your boxes, which is frowned upon because is breaks your OS's ability to detect fraudulent SSL certs.
Just saying.
PFSense with Squid can do much of this kind of stuff. May want to look into that.