使用Tomcat配置Haproxy以使用上下文

时间:2011-09-09 23:15:24

标签: tomcat haproxy

我是haproxy的新手,我正在试图弄清楚如何做一些看起来很简单的事情。我想代理一个tomcat上下文。

例如http://bobsautomotive.com:8080/HelloWorld

这是我的haproxy配置:

 global
    daemon
    maxconn 256
    log 127.0.0.1 local0

defaults
    mode http
    option httplog
    option logasap
    log global

    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms

frontend http-in
    bind *:80
    default_backend servers

backend servers
    balance roundrobin
    option redispatch
    option httpclose
    option forwardfor
    cookie JSESSIONID prefix
    server one tomcat.bobsautomotive.com:8009 cookie tomcat1 check
    stats uri /admin?stats
    stats realm haproxy
    stats scope .

这适用于访问Tomcat主页。但是,如果我尝试将其更改为使用上下文:

server one tomcat.bobsautomotive.com:8009/han cookie tomcat1 check

它不起作用......

有什么想法吗? 感谢

1 个答案:

答案 0 :(得分:1)

没有人回答这个问题,但答案在于在tomcat server.xml中设置默认主机

<Engine defaultHost="spaceman" jvmRoute="s1" name="Catalina> 
<Host appBase="webapps" name="spaceman">
  <Context docBase="quoteEngine" path="" reloadable="false" source="org.eclipse.jst.jee.server:spaceman"/>
   <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." resolveHosts="false" suffix=".txt"/>
  </Host>
</Engine>