一个前端haproxy后端nginx的方案

主要是解决本博客的访问问题。此博客放在家里的一个Server上,前端位于阿里云。采用的不是frp等内网穿透的方案,而是在前端服务器上安装haproxy,将tcp流量转发至家里的Server。

家里的宽带是动态ip,所以添加一个dns解析器

resolvers aliyundns
        nameserver aliyun1 223.6.6.6:53
        nameserver aliyun2 223.5.5.5:53
        accepted_payload_size 8192

随后监听80和443,将流量转发过去

listen http
        bind 0.0.0.0:80
        mode tcp
        balance roundrobin
        server s1 ddns.foxi.buduanwnag.vip:33080  weight 1 maxconn 100000  check resolvers aliyundns init-addr none
        server s2 ddns.foxi.buduanwnag.vip:44080  weight 1 maxconn 100000  check resolvers aliyundns init-addr none

listen https
        bind 0.0.0.0:443
        mode tcp
        balance roundrobin
        server s1 ddns.foxi.buduanwnag.vip:33443  weight 1 maxconn 100000 check resolvers aliyundns init-addr none
        server s2 ddns.foxi.buduanwnag.vip:44443  weight 1 maxconn 100000 check resolvers aliyundns init-addr none


如果要穿透IP,那么需要添加一个proxy参数

在haproxy上,server栏添加send-proxy

listen https
        bind 0.0.0.0:443
        mode tcp
        balance roundrobin
        server s1 ddns.foxi.buduanwnag.vip:33443  send-proxy  weight 1 maxconn 100000 check resolvers aliyundns init-addr none 
        server s2 ddns.foxi.buduanwnag.vip:44443 send-proxy  weight 1 maxconn 100000 check resolvers aliyundns init-addr none

同时在后端的nginx上,添加proxy_protocol

Server{
listen 1080 proxy_protocol default_server;
set_real_ip_from 47.111.157.0;
real_ip_header proxy_protocol;
....
}

版权声明:
作者:佛西
链接:https://foxi.buduanwang.vip/linux/1315.html/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
THE END
分享
二维码
< <上一篇
下一篇>>