具有 SSL 连接和动态内容的 Web 缓存

具有 SSL 连接和动态内容的 Web 缓存

我对网络缓存系统有一些疑问。

如果我在我的架构前面使用 Squid、Varnish 之类的系统作为反向代理:

  • 是否可以在用户和代理之间建立 SSL 连接,以及在代理和 Web 服务器之间建立 SSL 连接?在这种情况下,如果我的所有连接都使用 SSL...是否可以使用缓存系统?

  • 如果我有更多动态页面(例如,页面顶部有用户名),是否可以使用 Web 缓存?通常,Squid 和 Varnish 的 Web 缓存也仅用于静态内容,还是也用于动态内容?

答案1

  1. 我可以将 SSL 连接代理到 SSL 后端吗:是的
  2. 动态内容无法通过传统方式缓存,除非进行大量修改。通常只缓存静态内容(不会根据用户状态而改变的内容)。

答案2

从未使用过 Squid,所以我的回答仅限于 Varnish。

  • Varnish 不支持 SSL,因此你必须在 Varnish 前面使用一些 king os SSL 终结器(比如最新的 HAproxy、stud、stunnel 等),并且 Varnish 和后端服务器之间的另一层是后端的 HTTPS,这是必需的。[1]

  • 您可以使用 Varnish 的高级方法(例如 ESI 包含)来执行这种高级动态缓存,但实现起来并不简单。[2]

[1]https://www.varnish-cache.org/docs/trunk/phk/ssl.html

[2]https://www.varnish-cache.org/docs/trunk/users-guide/esi.html?highlight=esi

相关内容