HAProxy:将前端请求转发到外部后端服务器

HAProxy:将前端请求转发到外部后端服务器

当有人请求我的域中的子目录时,我想将请求转发到外部服务器。

我有以下配置但仍然收到 503:

resolvers dns
  nameserver google-1 8.8.8.8:53
  nameserver google-2 8.8.4.4:53
  hold valid 1s

frontend http-in
  maxconn 1048576

  bind *:80
  bind *:443 ssl crt /path/to/ssl

  redirect scheme https code 301 if !{ ssl_fc }

  acl is_dashboard_uri path_beg /dashboard
  use_backend surge if is_dashboard_uri

  default_backend servers

backend surge
  option forwardfor
  balance leastconn
  server surge my-path.surge.sh:443 check resolvers dns

我不确定我在这里做错了什么。我可以访问 DNS 服务器和后端路径。

编辑:这是日志:

Jun 12 21:32:05 ion-matchmaker-load-balancer haproxy[12612]: 73.70.169.76:54627 [12/Jun/2018:21:32:05.127] http-in~ surge/surge 0/59/-1/-1/+79 503 +213 - - sC-- 4/4/0/0/3 0/0 "GET /dashboard HTTP/1.1"

答案1

sC--当后端无法及时满足请求时,日志中就会出现这种情况。

在与服务器的连接完成之前出现“连接超时”错误。当在 HTTP 模式下发生这种情况时,此处的状态代码可能是 503 或 504。

我增加了后端的超时时间,这样服务器就有足够的时间来处理请求。

backend surge
  timeout connect 5000

相关内容