人们不是嘲笑你的梦想
他们嘲笑的是你的实力

全能中继工具haproxy(中转/端口转发)

概述

优点:功能强大,甚至支持https转发

缺点:配置略微复杂

安装

apt-get install -y haproxy

配置文件

nano /etc/haproxy/haproxy.cfg
global
  log 127.0.0.1   local0           #[日志输出配置,所有日志都记录在本机,通过local0输出]
  log 127.0.0.1   local1 notice    #定义haproxy 日志级别[error warringinfo debug]
  daemon                    #以后台形式运行harpoxy
  nbproc 1                         #设置进程数量
  pidfile /var/run/haproxy.pid
  ulimit-n 65536                    #ulimit 的数量限制
  #maxconn 2000000                  #默认最大连接数,需考虑ulimit-n限制
  #chroot /usr/local/haproxy
  tune.ssl.default-dh-param  2048
defaults
  log global
  mode tcp                  #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
  retries 3                 #两次连接失败就认为是服务器不可用,也可以通过后面设置
  option abortonclose       #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接
  option redispatch
  maxconn 8192              #默认的最大连接数
  timeout connect  5000ms   #连接超时
  timeout client 50000ms    #客户端超时
  timeout server 50000ms    #服务器超时
  timeout tunnel 1h
  timeout client-fin 30s
  balance roundrobin        #设置默认负载均衡方式,轮询方式
  #balance source           #设置默认负载均衡方式,类似于nginx的ip_hash
  #balnace leastconn        #设置默认负载均衡方式,最小连接数
listen admin_stats
  bind 0.0.0.0:987               #节点统计页面的访问端口
  mode http                       #http的7层模式
  option httplog                  #采用http日志格式
  maxconn 10                      #节点统计页面默认的最大连接数
  stats refresh 30s               #节点统计页面自动刷新时间
  stats uri /haproxy              #节点统计页面url
  stats realm Haproxy             #统计页面密码框上提示文本
  stats auth admin:admin           #设置监控页面的用户和密码:admin,可以设置多个用户名
  stats  admin if TRUE            #设置手工启动/禁用,后端服务器(haproxy-1.4.9以后版本)
frontend transit
    bind *:999
    mode tcp
    default_backend hkt
backend hkt
    mode tcp
server hkt 1.1.1.1:80 check inter 30s rise 2 fall 3 maxconn 2000000
frontend wtt
    bind *:443 ssl crt /root/ssl.pem
    redirect scheme https if !{ ssl_fc }
    mode http
    default_backend wtt
backend wtt
    mode http
server wtt 2.2.2.2:80 check inter 30s rise 2 fall 3 maxconn 2000000

软件支持一个页面监控,默认开启,用户名和密码可以设定

然后如果是中转多个后端,就添加多个backend

如果使用ssl的话,记得要先把证书设置好

未经允许不得转载:四四的军火库 » 全能中继工具haproxy(中转/端口转发)