2017-04-12 99 views
1

我有HAproxy位于AWS ELB后面。只要我删除ELB,我可以得到自定义错误页面。但是,在Haproxy前面的ELB中,我得到HTTP/1.1 504 GATEWAY_TIMEOUT Content-Length:0连接:保持活动状态。ELB后面的Haproxy

有谁能告诉我发生了什么事吗?由于

错误文件:

HTTP/1.0 403 Forbidden 
Cache-Control: no-cache 
Connection: close 
Content-Type: text/html 

<html><body><h1>403 Forbidden</h1> 
Request forbidden by administrative rules. 
</body></html> 
+0

ELB是否显示实例健康? HAProxy会记录失败请求的任何内容吗? –

+0

是的,ELB显示实例是健康的。 HAProxy会记录失败请求的任何内容吗?否 –

回答

2

我和一个同事刚刚有同样的问题。收到超时后,并阅读这种类型的http代码的亚马逊定义,我得到了我的头我的错误文件是“格式不正确”。经过很多次尝试之后,我们发现错误文件“header”中的CL-RF(新行)有一些有趣的地方。

我从他们的git(https://raw.githubusercontent.com/haproxy/haproxy/60220bbc4b6b3c4279d3c96232cf2c2461ecc55e/examples/errorfiles/503.http)下载了HaProxy默认文件,当它在vi(m)上打开时,它在标题上有一个^ M(CR)标志(正文前的所有内容,包括将它们分开的空行) 。如果你不能下载它,你可以在写字板或类似的东西(DOS)上写下它(只是最上面的部分),然后将它发送给你的UNIX机器。

所以我写了我的文件使用他们的头,现在一切正常。 干杯。

+0

非常感谢费尔南多。它解决了我的问题... –

+0

@FadhelGhorbel然后请点击勾号接受答案 – Marged