【问题标题】:HAProxy config for sub-domains子域的 HAProxy 配置
【发布时间】:2018-08-08 08:25:12
【问题描述】:

我需要一个示例 HAProxy 配置来执行以下操作:

Server1 = 192.168.0.177(我没有给出服务器名称 - 只有 IP)

在 Server1 上,我运行 HAproxy 和 Apache。

Server1 上的 Apache 现在设置为侦听端口 8080,并且为两个子域正确设置了两个虚拟主机 - 每个子域都提供自己的网站内容。 子域 1 = s.mydomain.com 子域 2 = x.mydomain.com

我有第二台服务器在 192.168.0.233 上运行。

我想设置 HAProxy 来监听 s.mydomain.com,然后将其转发到同一服务器 (192.168.0.177) 上的 Apache,x.mydomain.com 并将其转发到同一服务器 (192.168.0.177) 上的 Apache ) 和 y.mydomain.com 并将流量转发到第二台服务器 (192.168.0.233)。

此时我不需要任何负载平衡,只需要如上所述的路由/转发。

【问题讨论】:

    标签: haproxy


    【解决方案1】:

    给你,

    global
      #debug
    
    defaults
      mode http
      option httpclose
      timeout connect 5000ms
      timeout client 50000ms
      timeout server 50000ms
    
    backend same_server
      server same_server 127.0.0.1:8001
    
    backend second_server
      server second_server 192.168.0.233:80
    
    frontend app *:80
      acl sub_y hdr(host) -i y.mydomain.com
      use_backend second_server if sub_y
      default_backend same_server
    

    【讨论】:

    • 谢谢。这给了我 一些 结果,但是到第二台服务器的重定向/路由不起作用 - 看起来它正在进入一个循环并最终在备份/默认后端服务器上结束。我还必须为“same_server”使用实际的 192.168.0.177 IP,然后它才能开始为托管在同一服务器上的其他两个域工作。有什么想法可能导致这种情况,或者我该如何解决?
    • @Monty 检查 HAProxy 日志和 Web 服务器中的日志。比较。
    • 这是 haproxy 日志 [/etc/haproxy/haproxy.cfg:43] 的摘录:“前端”无法处理意外参数“*:80”。这是我的 haproxy.cfg 后端 same_server server same_server 192.168.0.177:8080 backend second_server server second_server 192.168.0.223 frontend app *:80 acl sub_y hdr(host) -i y.mydomain.com acl sub_x hdr(host) - i x.mydomain.com acl sub_z hdr(host) -i z.mydomain.com use_backend second_server if sub_y use_backend same_server if sub_x use_backend same_server if sub_z default_backend same_server
    • 好的,从日志中发现问题 1.前端语句错误-应该是:前端same_server bind *:80
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    • 2017-09-24
    • 2015-08-26
    • 1970-01-01
    • 2017-02-13
    • 1970-01-01
    相关资源
    最近更新 更多