【问题标题】:HAProxy allow port for specific hostname value?HAProxy 允许特定主机名值的端口?
【发布时间】:2020-01-27 21:13:14
【问题描述】:

有没有办法将 HAProxy 设置为仅在 来自所用 IP 的主机名符合特定条件时才侦听特定端口?

区别很重要:我的服务器有多个 IP,它们匹配一个域(www1.xxxx.com、www2.xxxx.com 等)。

仅当用于连接到 HAProxy 的域是 www.xxxx.com 时,我才想打开端口 YYYY。如果通过 www1.xxxx.com 进行测试,该端口将被拒绝。

请注意,HAProxy 用于 TCP 模式,而不是 HTTP。

这可能吗?

谢谢。

【问题讨论】:

    标签: haproxy


    【解决方案1】:

    可能是这样的?

    
    listen port_3306
      bind :3306
      mode tcp
      acl my-ip src 216.58.204.78
      tcp-request content accept if my-ip
      server  my-test-comms localhost:3306 check
    
    

    附上documentation link,也许你可以玩弄这些设置。

    希望这会有所帮助。

    【讨论】:

    • 谢谢,它似乎做我想做的事。我还有另一个与此相关的问题:是否可以使用环境中的 $HOSTNAME 变量来代替 IP 并附加一个字符串(如 'www' + $HOSTNAME)?
    • NP!如果它是基于主机名的acl my-domain hdr(host) -i subdomain.mydomain.io,您可以尝试这样的事情,将访问控制列表定义行替换为上面它应该可以工作,或者您可以添加许多 acls 并使用或/和逻辑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    • 2020-11-04
    • 2022-07-03
    • 1970-01-01
    • 1970-01-01
    • 2019-03-18
    相关资源
    最近更新 更多