![将 haproxy/varish 放在 nginx 后面的目的是什么?](https://linux22.com/image/572034/%E5%B0%86%20haproxy%2Fvarish%20%E6%94%BE%E5%9C%A8%20nginx%20%E5%90%8E%E9%9D%A2%E7%9A%84%E7%9B%AE%E7%9A%84%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
在一些设置中,我看到有人将 haproxy / varish 放在 nginx 后面,并将请求转发到后端(例如 Passenger)
例如
Nginx <---> HaProxy / Varinish <----> Passenger / Apache
我不明白为什么不直接把 HaProxy / Varinish 放在边缘,有什么好处吗?
答案1
他们可能这样做是为了处理 SSL 流量。这似乎不太可能,而且应该有更高效的方法,例如 stunnel。
另一种可能是在传递给动态后端之前处理静态内容。
答案2
nGinx 是事件驱动的,而 Varnish 使用线程,因此前者应该具有更好的扩展性(理论上)。您可以使用 Varnish 来处理更复杂的缓存情况,而让 nGinx 处理简单的事情。