keepalived+lvs tcp check 引起的后端服务报Connection reset by peer

方法一:
取消LVS方式进行tcp转发,进而改为http方式反向代理,问题即可解决。
当然,这是在业务允许使用http的情况下,如果必须使用tcp协议,那就得使用下面的方法了。

方法二:
修改keepalived配置文件
virtual_server 192.168.20.140 55555 {
    delay_loop 6
    lb_algo wrr
    lb_kind DR
    #persistence_timeout 900
    protocol TCP
    real_server 192.168.20.154 55555  {
        weight 100
        MISC_CHECK {
        misc_path "/data/shell/check_port.pl -h 192.168.20.154 -p 55555 -w 5 -c 10"
            misc_timeout 10
        }
    }
}

#将原来的TCP_CHECK方式改为 MISC_CHECK模式,将perl脚本传到指定目录下,给可执行权限。

#查看系统是否支持perl
rpm -q perl

#perl -v  可查看版本信息

perl脚本下载地址:https://exchange.nagios.org/directory/Plugins/Network-Protocols/%2A-TCP-and-UDP-%28Generic%29/check_port-2Epl/details

引:https://www.cnblogs.com/fuhai0815/p/10273450.html

原文地址:https://www.cnblogs.com/fengjian2016/p/11982705.html