场景

  • 一台非直连cn的vps, 搭建了ssr
  • 一台内网可运行haproxy的机器
  • 家里联通线路访问ssr速度尚可
  • 公司/非联通线路访问ssr速度不佳

方案

  • 在家里路由器搭建haproxy, 使用haproxy反代ssr:
公司 <===> 家里(haproxy) <===> VPS

安装及haproxy配置

1.安装haproxy

此处使用entware-ng环境运行haproxy,需要根据实际情况自行安装haproxy

opkg update && opkg install haproxy

2.创建配置文件ssr.cfg

global
    #ulimit-n  51200
    log /dev/log    local0
    log /dev/log    local1 notice
    chroot /root
    pidfile /tmp/var/run/haproxy.pid
    user yjiang                      #自己运行haproxy的用户
    daemon                           #以后台形式运行haproxy
defaults
    log     global
    mode    tcp
    option  dontlognull
    option redispatch
    timeout http-request 10s
    timeout queue 1m
    timeout connect 2s
    timeout http-keep-alive 10s
    timeout check 10s
    timeout client 50000
    timeout server 50000
listen ssr
    bind *:9988                      #反代后ssr的端口
    mode tcp
    server ssr1 yjiang.cn:9988       #自己的ssr服务器及端口

3.启动haproxy

haproxy -f ssr.cfg

梅林固件User Script脚本创建方式

tips

  1. 可能需要手动开放haproxy绑定的端口, 例如上面配置文件需要开启9988
iptables -I INPUT -p tcp --dport 9988 -j ACCEPT
iptables-save
  1. 1024以内的端口是需要root权限的
  2. 从公司连接haproxy反代后的ssr服务时, 依旧需要vps上ssr服务的用户名/密码/加密协议.