我想将平衡请求加载到三个后端的同一个端口。我有大约20个端口要转发,所以我需要一个方法,使它的动态。这是为了负载平衡我们的prod,预prod,qa,dev,单元测试服务器为多个域.所以,是的,我可以使用20个后端,20个acls和20个use_backends来实现它。但那就算了吧。麻烦太多了。
也就是说,我想使用一个变量,意思是“请求的端口”。我尝试了%dst_端口,因为这似乎在其他情况下有效。
我在威利T的某个地方读到了一个答案,如果一个人忽略了这个端口,那么它就会转发到同一个端口。
但是它仍然需要服务端口或检查端口,这一点我不知道,除非我绑定到20个不同的前端。
错误:服务器X既没有服务端口,也没有检查端口,也没有tcp_check规则“连接”端口信息。检查已被禁用。
例如:
listen load-balance
bind :28080
bind :42080
bind :48080
bind :58080
bind :38080
mode http
balance roundrobin
option httpchk HEAD / HTTP/1.1\r\nHost:\ localhost
server X 10.20.30.1 check %[dst_port]
server Y 10.20.30.2 check %[dst_port]
server Z 10.20.30.3 check %[dst_port]你看,它需要一个变量。这个是可能的吗?
(我的问题甚至更复杂,因为从技术上讲,我需要一个从目的端口到检查端口的映射,理想情况下,但是如果我能够完成这个动态端口技巧,那么现在就足够了。)
发布于 2017-02-17 19:18:29
您需要配置它
server X 10.20.30.1 check port 80
server Y 10.20.30.2 check port 80
server Z 10.20.30.3 check port 80您只能设置一个端口来检查运行状况,或者使用“外部检查命令”来使用自己的脚本检查服务器.
https://serverfault.com/questions/832733
复制相似问题