在某些设置中,我看到有人把haproxy / varinish放在nginx后面,并将请求转发到后端(例如Passenger)
例如
Nginx <—> HaProxy / Varinish <—-> Passenger / Apache
我不明白为什么不把HaProxy / Varinish直接放在边缘,有什么优势?
他们有可能处理SSLstream量。 这看起来不太可能,而且会有一些有效的方法,如stunnel。
另一个可能是在传递到dynamic后端之前处理静态内容。
nGinx是事件驱动的,Varnish使用线程,因此前者应该更好地扩展(理论上)。 您可以使用Varnish来处理更复杂的caching案例,并让nGinx处理简单的事情。