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

问题描述 投票:0回答:2

我是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主页。但是,如果我尝试将其更改为使用类似以下的上下文:

服务器一tomcat.bobsautomotive.com:8009/han cookie tomcat1检查

将不起作用...

有什么想法吗?谢谢

tomcat haproxy
2个回答
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>

0
投票

您应将哪个值提供给defaultHost?与用于将流量从HAProxy路由到Tomcat的dns名称相同(在您的情况下为bobsautomotive),或其他名称?

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.