我们使用Apache作为反向代理(mod_proxy
)。对我们来说最重要的功能是url映射(简单的url重写),包括对cookie路径的重写。我惊讶地发现nginx不重写cookie路径(用工厂模块)。我不确定,但我相信HAProxy可以做到这一点。Apache太重了,只适合这个任务。你能评论一下在这种情况下该用什么吗?(后端是Java应用服务器,例如Tomcat)
- 继续使用Apache 使用nginx与一些第三方模块(lua等)
- 用HAProxy
我会调查HAProxy,除非您也想缓存该内容(服务器卸载)。它有相当令人印象深刻的cookie支持。
根据我的经验,我发现HAProxy非常轻量级且易于使用。你可以用reqrep/reqirep关键字定义URL/cookie重写,它可以应用于HTTP头请求中的任何内容。例如:
# add cookie 'backend=2' for any HTTP method followed by
# '/img' only or '/img/' followed by anything:
reqirep ^[^: ]* /img[/ ].* nCookie: backend=2
URL重写也是这样:
# replace "/static/" with "/" at the beginning of any request path:
reqrep ^([^ ]*) /static/(.*) 1 /2