【问题标题】:HAproxy-reverse proxy for multiple domains - 503 service unavailableHAproxy-多个域的反向代理 - 503 服务不可用
【发布时间】:2016-10-26 05:56:29
【问题描述】:

我尝试为多个域设置 HAproxy - 反向代理。但是当我在浏览器中尝试 HAProxy url 时,它显示“503 - 服务不可用”。

我正在尝试设置这个,我有四个域-当任何一个点击代理服务器 url 时,请求必须转到属于请求的特定域。

在我的 haproxy 配置文件下方。

log         127.0.0.1 local2
chroot      /var/lib/haproxy
pidfile     /var/run/haproxy.pid
maxconn     4000
user        haproxy
group       haproxy
daemon

# turn on stats unix socket
stats socket /var/lib/haproxy/stats

默认值

mode                    http
log                     global
option                  httplog
option                  dontlognull
option                  http-server-close
option                  forwardfor
option                  redispatch
retries                 3
timeout http-request    10s
timeout queue           1m
timeout connect         10s
timeout client          1m
timeout server          1m
timeout http-keep-alive 10s
timeout check           10s
maxconn                 3000

前端http-in 绑定 *:80

    acl host1 hdr(host) -i xyz.com
    acl host2 hdr(host) -i abc.com
    acl host3 hdr(host) -i ghy.com
    acl host4 hdr(host) -i klm.com

    use_backend xyz if host1
    use_backend abc if host2
    use_backend ghy if host3
    use_backend klm if host4

后端 xyz

    mode    http
    balance     roundrobin
    option forwardfor
    server s2 xyz.com:80 check

后端abc

    mode    http
    balance     roundrobin
    option forwardfor
    server s1 abc.com:80 check

后端ghy

    mode    http
    balance     roundrobin
    option forwardfor
    server s4 ghy.com:80 check

后端klm

    mode    http
    balance     roundrobin
    option forwardfor
    server s3 klm.com:443 check

收听网页界面

绑定 0.0.0.0:9200

模式http

启用统计

统计 uri /

stats realm Strictly\ Private

stats auth admin:admin@123


请帮我解决这个问题。

提前致谢。

【问题讨论】:

  • 请阅读您的日志。每个请求都使用 4 个字符的代码记录,该代码描述了请求完成处理时的会话状态。对于成功的请求,通常是----。否则,将记录代码。
  • 我在 haproxy 中得到如下日志,6 月 23 日 21:37:40 localhost haproxy[3344]: 192.168.4.28:20346 [23/Jun/2016:21:37:40.384] http-in http-in/ -1/-1/-1/-1/0 503 212 - - SC-- 0/0/0/0/0 0/0 "POST example.com HTTP/1.1 " : 注意:example.com 是 abc.com
  • 同一子网中的 HAProxy 平衡器和后端?

标签: reverse-proxy haproxy


【解决方案1】:

从 haproxy 获取 503 - service unavailable 表明后端服务器未正确处理请求 - 如果您检查统计页面(例如 http://localhost:9200/),服务器将显示为红色(如果服务器正常,则为显示为绿色;健康的备份服务器将显示为蓝色)。

由于您的 server 行包含 check 关键字,haproxy 会定期轮询每个后端服务器以查看服务器是否“健康” - 也就是说,它是否返回 2xx-3xx HTTP 状态(对于 http checks )。

您有多种选择:

  • 从您的 server 行中删除 check - haproxy 假定服务器默认可用。
  • 在您的server 行上保留check,但配置httpchk(这可以为每个后端完成)。例如: option forwardfor option httpchk HEAD / HTTP/1.1\r\nUser-Agent:\ HAProxy\r\nHost:\ server s2 xyz.com:80 check

进行配置更改后不要忘记重新加载/重新启动 haproxy!

【讨论】:

  • 谢谢马特。我会检查的。
猜你喜欢
  • 2021-04-12
  • 2021-07-25
  • 1970-01-01
  • 1970-01-01
  • 2022-01-21
  • 1970-01-01
  • 1970-01-01
  • 2022-08-15
  • 2019-03-05
相关资源
最近更新 更多