global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4500
user haproxy
group haproxy
daemon
defaults
mode tcp
log global
retries 8
timeout connect 10s
timeout server 10s
timeout client 10s
frontend 0
bind *:25565
mode tcp
acl test hdr(host) -i test.mydomain.com
use_backend 0 if test
backend 0
mode tcp
server node0 22.28.29.28:25585 check
你好,
我正在尝试将 haproxy 用于我的 Minecraft 服务器。我想要的是一个可以添加更多子域以及它们代理到哪些 IP 的配置。我遇到的问题是,当您尝试连接时,它只显示“ Logging in...
”,而不是“ Disconnected
”。我做错了什么吗?
我也*.mydomain.com
指向了我的 haproxy 服务器。
谢谢 :)
答案1
由于 TCP 模式不查找任何标头,因此任何基于标头的功能不适用于 minecraft。 托管多个 minecraft 服务器通常通过使用唯一端口来完成。另一个简单的选择是多个 IP。如果您想要使用多个端口,那么您需要frontend
在 haproxy 中为每个监听端口创建一个。
答案2
mode tcp
由于您正在检查第 7 层功能,因此您的 ACL 永远不会匹配。
将两个出现的都改为mode
http 就好了。