用haporxy端口转发给kvm虚拟机,实现一个公网IP对多个kvm虚拟机的访问

HAProxy 是一款高性能的负载均衡器和代理服务器,可以用于端口转发和负载均衡。按照以下步骤操作:

安装 HAProxy:
yum install haproxy


编辑 /etc/haproxy/haproxy.cfg 文件,为每个 KVM 虚拟机配置端口转发规则。在文件末尾添加如下内容:


frontend [名称]
    bind *:[公网端口]
    mode tcp
    default_backend [后端名称]

backend [后端名称]
    mode tcp
    balance roundrobin

    server [服务器名称] [虚拟机IP:虚拟机端口] check


启动并使 HAProxy 开机自启:


systemctl start haproxy
systemctl enable haproxy

d.如果有防火墙,则需要放行新端口

firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload

如果在nginx http上,要从kvm获取真实IP,即日志的remote_addr是真实IP而不是现在的haproxy网关IP,需要加send-proxy


frontend gt3_frontend
    bind *:443
    mode tcp
    default_backend back3

backend back3
    mode tcp
    balance roundrobin
    server my_server 192.168.122.81:443 check send-proxy    
frontend gt4_frontend
    bind *:80
    mode tcp
    default_backend back4

backend back4
    mode tcp
    balance roundrobin

    server my_server 192.168.122.81:80 check send-proxy


且nginx端也要相应配置

listen  80 proxy_protocol;
listen 443 ssl proxy_protocol;

set_real_ip_from 192.168.122.1;

real_ip_header proxy_protocol;

原来可能只是listen,现在要在Listen后边加 proxy_protocol并加两行header设置,nginx日志格式则不需要变动,remote_addr会变成真实IP。

其它场景,如ssh则默认配置即可,如果不需要真实IP。

frontend gt1_frontend
    bind *:8122
    mode tcp
    default_backend back1

backend back1
    mode tcp
    balance roundrobin
    server my_server 192.168.122.81:22 check

猜你喜欢

基于http-x-forward的nginx并发限制与拦截屏蔽

网站经常被扫描工具,列表爬虫,导致服务器性能开销很大,有些恶意的刷网站,经常导致服务器负载过高。 因为使用了CDN加速,以前基于IP地址的频率限制,拦截,防火墙拦截都无效了。 必须使用基于http-x...

Stable Diffusion的easynegative插件

Stable Diffusion的easynegative插件

有时候看到很多画图的负向词中会有“easynegative”这个单词,这是一个通用的负面模型,把一些常用的不需要AI画的东西全部集成进来了,除非你的负向词面面俱到,不然这个插件还是很有用的。 这是使...

mysql运维日常命令大全

学习不仅需要投入时间和成本,更重要的是通过大量实践来达到精通的境界。在日常工作和学习中,我们需要掌握的技能繁多,因此,首先应该掌握常用技能,再选择一个感兴趣的领域进行深入学习,从而在保证时间效益的同时...

如何在python整合包使用pip安装更多依赖

如何在python整合包使用pip安装更多依赖

本次想在GPT-SoVITS-v2-240821整合包中安装一个flask,大致步骤如下 (1)在cmd下切换到 GPT-SoVITS-v2-240821目录中, (2)运行命令 "E:\GPT-S...

简单三步实现Linux下mysql数据库定时备份

Linux下实现mysql数据库定时备份,只需要掌握这简单的三步即可。 1、你必须登录数据库创建一个用于备份的帐号密码,可以给大权限也可以细化。 #创建用户和密码 CREATE USER 'back...

源格式转换 txt转m3u 在线工具及源码

源格式转换 txt转m3u 在线工具及源码

一般txt转m3u指的是不同播放器的源格式转换,而txt和m3u是两种流行的格式。 一般txt格式如下: 节目名称,节目URL 一般m3u格式如下: EXTINF:-1,节目名称 节目URL 有些节...