前两天买了一台netcup的德国的服务器,测速看还不错,但是发现一个致命的问题,天津移动不定时连不上这台服务器,可以ping通,但是服务器所有端口都阻断状态,具体原因还没深究。我刚好有一台法兰克福中国三网优化的vps,所以决定用这台服务器做端口转发来给他做一下中转加速。
先说一下这台vps环境,debian+宝塔面板,拟用宝塔面板的端口转发功能实现,但是搞笑的是,宝塔米啊面板在debian12下,宝塔9.0.0版本好像存在一个不是偶发的bug,debian12+9.0.0端口转发失败,设置了端口,但是通过netstat命令看,端口并不会打开,我只能说宝塔的测试质量越来越低了。所以我才想起来以前用过的神器haproxy。今天我记录一下haproxy的安装过程,分享给大家。
介绍一下Haproxy,他做端口转发应该是小众应用,最多的用的应该还是用它做负载均衡,今天我们只演示端口转发。
1. 更新系统包列表
sudo apt update
sudo apt upgrade
2.安装haproxy
sudo apt install haproxy -y
3.看看是否安装成功
haproxy -v
检查HAProxy的版本,以确认HAProxy已正确安装
4.配置HAProxy
安装HAProxy后,下一步是根据您的特定负载均衡或代理需求对其进行配置。输入命令:
mv /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfgbak
输入命令编辑 HAProxy配置文件
nano /etc/haproxy/haproxy.cfg
以下是一个基本配置示例,配置可以实现转发前端服务器的17800,2022,12381端口到后端的7800,22,12381端口上。
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
user haproxy
group haproxy
daemon
defaults
log global
mode tcp
option tcplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
listen stats
bind *:9000
mode http
stats enable
stats uri /haproxy?stats
stats realm HAProxy\ Statistics
stats auth admin:password
frontend tcp_front_17800
bind *:17800
default_backend servers_17800
frontend tcp_front_2022
bind *:2022
default_backend servers_22
frontend tcp_front_12381
bind *:12381
default_backend servers_12381
backend servers_17800
server server1 123.123.123.123:7800 check
backend servers_22
server server2 123.123.123.123:22 check
backend servers_12381
server server3 123.123.123.123:12381 check
此配置将端口80上的流量以轮询方式定向到后端服务器。stats uri
行启用了HAProxy统计信息,可以在给定的URI上报告。
4. 启动HAProxy服务,配置完成后,使用以下命令启动HAProxy服务,并设置开机自启:
sudo systemctl start haproxy
sudo systemctl enable haproxy
5. 访问HAProxy统计页面
现在,您可以通过在浏览器中访问 http://your_server_ip:9000/haproxy?stats 来访问HAProxy统计页面。将 your_server_ip 替换为您的HAProxy服务器的IP地址。
演示视频