我可以将 https 与 Varnish Cache 一起使用吗
Can I use https with Varnish Cache
我可以将 varnish 缓存与 https 一起使用吗?这对性能提升的影响很小吗?优缺点都有什么?我已经为 http 设置了我的 vcl。我现在想用 https 试试这个。
我读过这篇文章,但它是 2011 年的:
https://www.varnish-cache.org/docs/trunk/phk/ssl.html
Varnish 本身不支持 SSL,而且在可预见的未来不太可能支持。
要使用 SSL 并且仍然能够使用 varnish 进行缓存,您必须在将请求发送到 varnish 之前终止 SSL。这可以通过例如 HAProxy 或 Nginx 有效地完成。
了解具体如何配置;一个简单的 google 搜索 ssl termination haproxy/nginx
将产生足够多的结果-
您在 HAProxy 中设置了 X-Forwarded-For header。如果已经设置了 X-Forwarded-For header 其他反向代理总是只会添加自己的,left-most 或第一个地址是源地址。你不必考虑这一点,任何读取和使用 X-Forwarded-For headers 的东西都会自动解决这个问题。
您还想设置 X-Forwarded-Proto 以便您可以在 Varnish 中执行各种魔术,例如在不访问后端服务器的情况下重定向不使用 TLS 的流量并分离缓存,因为 Varnish 不使用 TLS ,这可能会导致一些有趣的结果,例如图片未提供,因为当页面通过 HTTPS 提供时,它们是通过 HTTP 请求的。
附带问题,您是否使用 HAProxy 在多个后端之间实际进行负载平衡?如果没有,为什么不终止 Apache 中的 TLS 连接,将其发送到 Varnish,然后再次返回到 Apache?
我可以将 varnish 缓存与 https 一起使用吗?这对性能提升的影响很小吗?优缺点都有什么?我已经为 http 设置了我的 vcl。我现在想用 https 试试这个。
我读过这篇文章,但它是 2011 年的: https://www.varnish-cache.org/docs/trunk/phk/ssl.html
Varnish 本身不支持 SSL,而且在可预见的未来不太可能支持。
要使用 SSL 并且仍然能够使用 varnish 进行缓存,您必须在将请求发送到 varnish 之前终止 SSL。这可以通过例如 HAProxy 或 Nginx 有效地完成。
了解具体如何配置;一个简单的 google 搜索 ssl termination haproxy/nginx
将产生足够多的结果-
您在 HAProxy 中设置了 X-Forwarded-For header。如果已经设置了 X-Forwarded-For header 其他反向代理总是只会添加自己的,left-most 或第一个地址是源地址。你不必考虑这一点,任何读取和使用 X-Forwarded-For headers 的东西都会自动解决这个问题。
您还想设置 X-Forwarded-Proto 以便您可以在 Varnish 中执行各种魔术,例如在不访问后端服务器的情况下重定向不使用 TLS 的流量并分离缓存,因为 Varnish 不使用 TLS ,这可能会导致一些有趣的结果,例如图片未提供,因为当页面通过 HTTPS 提供时,它们是通过 HTTP 请求的。
附带问题,您是否使用 HAProxy 在多个后端之间实际进行负载平衡?如果没有,为什么不终止 Apache 中的 TLS 连接,将其发送到 Varnish,然后再次返回到 Apache?