服务器中的502错误的网关Haproxy

时间:2018-07-11 08:24:12

标签: proxy haproxy

我们有一个运行在端口8080上的服务器,每当将请求发布到服务器时,它就会将响应发回。

在同一实例上,Haproxy在443(使用SSL)上运行,当我向haproxy(IP:443)发布相同的请求时,它抛出“ 502 Bad Gateway”错误。

我可以知道是什么问题吗?

以下是Haproxy配置:

global
    maxconn     2048
    tune.ssl.default-dh-param 2048
    daemon

defaults
    mode                    http
    option          forwardfor
    option          http-server-close
    retries                 3
    timeout http-request    5000s
    timeout queue           3m
    timeout connect         5000s
    timeout client          3m
    timeout server          3m
    timeout http-keep-alive 5000s
    timeout check           4000s
    maxconn                 2048

frontend www-https
    bind *:443 ssl crt /etc/ssl/haproxy/app-ssl.pem
    reqadd X-Forwarded-Proto:\ https
    default_backend www-backend

backend www-backend
    redirect scheme https if !{ ssl_fc }
    server www-1 localhost:8080 check

listen stats
     bind *:28080
     mode http
     stats enable
     stats uri /haproxy?stats

1 个答案:

答案 0 :(得分:0)

增加全球价值 tune.maxrewrite 4096然后有效

Haproxy Config应该如下:

global
    maxconn     2048
    tune.ssl.default-dh-param 2048
    tune.maxrewrite         4096
    daemon

defaults
    mode                    http
    option          forwardfor
    option          http-server-close
    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                 2048

frontend www-https
    bind *:443 ssl crt /etc/ssl/haproxy/ede-ssl.pem
    reqadd X-Forwarded-Proto:\ https
    default_backend www-backend

backend www-backend
    redirect scheme https if !{ ssl_fc }
    server www-1 localhost:8080 check

listen stats
     bind *:28080
     mode http
     stats enable
     stats uri /haproxy?stats

请找到以下说明:

tune.bufsize   将缓冲区大小设置为此大小(以字节为单位)。较低的值允许更多   会话共存于相同数量的RAM中,更高的值允许一些   具有非常大的Cookie的应用程序。默认值为16384,   可以在构建时更改。强烈建议不要更改此设置   从默认值开始,因为非常低的值会破坏某些服务,例如   统计信息,并且值大于默认大小会增加内存使用量,   可能导致系统内存不足。至少是全局的maxconn   参数的减小应与增加该参数的因素相同。   如果HTTP请求大于(tune.bufsize-tune.maxrewrite),则haproxy将   返回HTTP 400(错误请求)错误。同样,如果HTTP响应较大   超过此大小后,haproxy将返回HTTP 502(错误网关)