Apache HAproxy-代理整个IP

Apache HAproxy-代理整个IP,apache,haproxy,Apache,Haproxy,为了测试使Socket.io与并行Apache安装一起工作的所有可能的解决方案,我现在安装了监听端口80的HAproxy。它将所有内容代理给Apache,除非主机名等于io.server.com 我们有两个IP连接到服务器:一个用于SSL,另一个用于所有非SSL子域。我已经创建了io.server.com子域来指向该非SSL IP地址。但是,出现以下情况: 访问regular_http.server.com会导致Apache处理该子域(OK) 访问io.server.com会得到“欢迎访问Soc

为了测试使Socket.io与并行Apache安装一起工作的所有可能的解决方案,我现在安装了监听端口80的HAproxy。它将所有内容代理给Apache,除非主机名等于
io.server.com

我们有两个IP连接到服务器:一个用于SSL,另一个用于所有非SSL子域。我已经创建了
io.server.com
子域来指向该非SSL IP地址。但是,出现以下情况:

  • 访问
    regular_http.server.com
    会导致Apache处理该子域(OK)
  • 访问
    io.server.com
    会得到“欢迎访问Socket.io”(OK)
  • 下次访问
    常规的\u http.example.com
    结果是“欢迎访问Socket.io”
  • 为什么HAproxy从子域发送请求时没有配置为转到Socket.io或Socket.io? 是的,这两个子域名共享IP,但是HAproxy真的将整个IP代理在一个域名下吗?那么,基于主机名设置ACL有什么意义呢

    以下是我的配置:

    global
        daemon
        maxconn 4096
        user haproxy
        group haproxy
    
    defaults
        log global
    
    #this frontend interface receives the incoming http requests
    frontend http-in
        mode http
        bind *:80
        timeout client 86400000
        #default behavior sends the requests to apache
        default_backend www_backend
        #when "io.test.tld" is matched, an acl I call arbitrarily
        # "websocket" triggers
        acl websocket hdr_end(host) -i io.server.com
        use_backend node_backend if websocket
    

    谢谢大家!

    使用HAproxy中的
    选项http server close
    配置值解决了此问题