是否有可能从Apache移动到HAProxy/nginx作为反向代理



我们使用Apache作为反向代理(mod_proxy)。对我们来说最重要的功能是url映射(简单的url重写),包括对cookie路径的重写。我惊讶地发现nginx不重写cookie路径(用工厂模块)。我不确定,但我相信HAProxy可以做到这一点。Apache太重了,只适合这个任务。你能评论一下在这种情况下该用什么吗?(后端是Java应用服务器,例如Tomcat)

  1. 继续使用Apache
  2. 使用nginx与一些第三方模块(lua等)
  3. 用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

最新更新