把haproxy / varinish放在nginx之后的目的是什么?

在某些设置中,我看到有人把haproxy / varinish放在nginx后面,并将请求转发到后端(例如Passenger)

例如

Nginx <—> HaProxy / Varinish <—-> Passenger / Apache

我不明白为什么不把HaProxy / Varinish直接放在边缘,有什么优势?

他们有可能处理SSLstream量。 这看起来不太可能,而且会有一些有效的方法,如stunnel。

另一个可能是在传递到dynamic后端之前处理静态内容。

nGinx是事件驱动的,Varnish使用线程,因此前者应该更好地扩展(理论上)。 您可以使用Varnish来处理更复杂的caching案例,并让nGinx处理简单的事情。