首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Haproxy解析器科+ Amazon

Haproxy解析器科+ Amazon
EN

Server Fault用户
提问于 2015-07-08 23:28:14
回答 2查看 6.6K关注 0票数 6

我目前在amazon前面使用Haproxy-1.6dev2,我遇到了DNS解析问题。由于新的resolvers特性,我正在使用have的开发版本,但在不重新启动have进程的情况下,无法让have触发服务器内部ip地址列表的更改。Amazon更新其ELB的IP,Haproxy继续使用旧IP地址而不进行更新。下面是一个简化的配置文件。

代码语言:javascript
复制
global
    log 127.0.0.1   local0
    stats socket /var/run/haproxy.sock

defaults
    log global
    mode http
    option httpchk GET /
    option log-health-checks
    option  dontlognull
        timeout connect 5000
        timeout client  50000
        timeout server  50000

resolvers dns
    nameserver public-0  xx.xx.xx.xx:53
    hold valid 1s

frontend http
    bind *:8000
    default_backend site-backend

backend site-backend
    balance leastconn
    server site sub.example.com:80 resolvers dns check inter 1000

我在AWS Route53中创建一个临时A记录,由于A记录指向无效位置,所以健康检查失败。

然后,我更新A记录以指向一个有效的位置,并且健康检查继续失败。简单地重新启动haproxy意味着健康检查开始通过。

我还点击了stats套接字以获得更多信息:

代码语言:javascript
复制
 nameserver public-0:
  sent: 153
  valid: 0
  update: 0
  cname: 0
  cname_error: 0
  any_err: 0
  nx: 0
  timeout: 0
  refused: 0
  other: 0
  invalid: 0
  too_big: 0
  outdated: 51

关于“过时”可能意味着什么,haproxy文档并没有提供太多帮助。

EN

回答 2

Server Fault用户

发布于 2015-07-11 07:02:14

请在调试模式下运行HAProxy (全局部分中的“debug”语句或运行haproxy deamon时的'-d‘),并在此报告stdout和stderr的输出。

同时,请对该框的DNS流量进行tcpdump,并将其发送给在HAProxy: bedis9@gmail.com中执行DNS工作的开发人员。

巴普蒂斯特

票数 2
EN

Server Fault用户

发布于 2015-07-14 15:57:45

这似乎是一个1ms的默认超时问题,而不是1s的默认超时。设置timeout retry 1s应该可以解决任何在Haproxy-1.6dev2上有此问题的其他人的问题。我想这将在官方1.6版中得到解决。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/704482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档