后端启动时,HAProxy用NOSRV响应


11

我有一个奇怪的情况,对我的HAProxy的请求返回了503。HAProxy日志显示它返回了NOSRV错误:

Mar 26 19:47:01 localhost haproxy[23910]: 10.0.0.30:34261 
  [26/Mar/2013:19:46:48.579] fe v2/<NOSRV> 12801/-1/-1/-1/12801 503 
  212 - - SC-- 0/0/0/0/0 0/0 "GET /path/v2/ HTTP/1.1"

在此期间,后端服务器已确认运行,并且正在从内部负载平衡器接收流量。这件事是自然发生的,没有在HAProxy中进行任何配置或其他更改。重新启动HAProxy可以解决此问题。

有人知道这是否是已知问题吗?感谢您的帮助/见解。

谢谢。

我的配置如下所示:

global
    maxconn     1000 # Total Max Connections. This is dependent on ulimit
    daemon
    nbproc      1 # Number of processing cores. Dual Dual-core Opteron is 4 cores for example.
    log         127.0.0.1 local1
defaults
        mode        http
        clitimeout  60000
        timeout server 300000
        contimeout  4000
        option      httpclose # Disable Keepalive

backend v2
        server v2Elb internal-xxx.us-west-1.elb.amazonaws.com:80 weight 1 maxconn 512 check
backend v2e
        server v2eElb 10.0.1.28:80 weight 1 maxconn 512 check
frontend fe
        bind :80
        option httpchk
        option forwardfor # This sets X-Forwarded-For
        option httplog
        log global
        acl v2e path_beg /path/v2e
        acl v2 path_beg /path/v2
        redirect location https://my.domain.com/path/v2/ if !v2e !v2
        use_backend v2e if v2e
        use_backend v2 if v2

我有同样的问题。您是否能够解决此问题,或者每隔一段时间重新启动服务?
Atifm

你能解决这个问题吗?即使使用动态主机解析,也存在相同问题
Paulius Dragunas

抱歉,伙计们。我从此继续前进,没有跟进尝试解决。
拉吉

Answers:


2

我从给定的配置中注意到,您正在AWS ELB负载平衡器的前面运行,v2并且我猜想它v2e直接指向应用服务器(否则将指向ELB)?

如果是这样,这将向我提示,以及503错误,您的HAProxy实例和ELB之间的连接正在达到超时,无论是4秒contimeout超时还是300秒server超时。可能性更大的是4秒contimeout,该错误的偶发性进一步证实了它很可能是HAProxy和ELB之间的网络问题。

我将尝试增加该contimeout值以及监视HAProxy和ELB之间的延迟。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.