2011-11-20 67 views
0

我们使用Apache作为反向代理(mod_proxy)。对我们来说最重要的功能是URL映射(简单的URL重写),包括重写cookie路径。当我惊奇地发现nginx不会重写cookie路径(使用工厂模块)。我不确定,但我相信HAProxy可以做到这一点。 Apache只为这份工作而沉重。那么你可以评论在这种情况下使用什么? (后端是一个Java应用服务器如Tomcat)的是否可以从Apache转换为HAProxy/nginx作为反向代理?

  1. 继续使用Apache
  2. 使用nginx的一些第三方模块(LUA等)
  3. 使用HAProxy的

回答

0

我会调查HAProxy的,除非你想要缓存该内容(服务器卸载)。它有非常令人印象深刻的cookie支持

0

以我的经验,我发现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[/\ ].* \0\nCookie:\ backend=2 
的URL

同样的想法重写:

# replace "/static/" with "/" at the beginning of any request path: 

reqrep ^([^\ ]*)\ /static/(.*)  \1\ /\2