我是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
它不起作用......
有什么想法吗? 感谢
答案 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 "%r" %s %b" prefix="localhost_access_log." resolveHosts="false" suffix=".txt"/>
</Host>
</Engine>