Maiko403 2023-08-07 01:41 采纳率: 0%
浏览 9

懂Haproxy与GETH的人,反向代理

假设 代理服务器为1.1.1.1

后端节点服务器2.2.2.2 与 3.3.3.3

网域为  proxy1.xxx.com 对应2.2.2.2
            proxy2.xxx.com 对应3.3.3.3

然后后端节点服务器的端口为

http://2.2.2.2:8545
ws://2.2.2.2:8546
http://3.3.3.3:8545
ws://3.3.3.3:8546

需求是

访问https://1.1.1.1/h1  的时后 反向代理到 http://2.2.2.2:8545 并且SSL加密
访问https://1.1.1.1/h2  的时后 反向代理到 http://3.3.3.3:8545 并且SSL加密
访问wss://1.1.1.1/w1  的时后 反向代理到 http://2.2.2.2:8546  并且SSL加密
访问wss://1.1.1.1/w2  的时后 反向代理到 http://3.3.3.3:8546  并且SSL加密

这套我玩NGINX已经玩的纯熟了, 可是Haproxy的性能比较好。

关于那些ACL之类的 我怎么搞都弄不出来

需要真的能手把手教的 别让我再去看那些我看过的文。 有偿!

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-08-07 04:01
    关注

    【以下回答由 GPT 生成】

    怎样用Haproxy反向代理实现负载均衡?

    对于使用Haproxy实现负载均衡并进行反向代理的问题,我可以为您提供以下解决方案:

    首先,确保您已经安装了Haproxy并具备配置文件的访问权限。

    1. 打开Haproxy的配置文件(通常位于/etc/haproxy/haproxy.cfg),并添加以下配置:
    frontend front-https
        bind 1.1.1.1:443 ssl crt /etc/haproxy/cert.pem
        acl path_h1 path_beg /h1
        acl path_h2 path_beg /h2
        use_backend backend_h1 if path_h1
        use_backend backend_h2 if path_h2
    
    frontend front-wss
        bind 1.1.1.1:443 ssl crt /etc/haproxy/cert.pem
        acl path_w1 path_beg /w1
        acl path_w2 path_beg /w2
        use_backend backend_w1 if path_w1
        use_backend backend_w2 if path_w2
    
    backend backend_h1
        server server_h1 2.2.2.2:8545
    
    backend backend_h2
        server server_h2 3.3.3.3:8545
    
    backend backend_w1
        server server_w1 2.2.2.2:8546
    
    backend backend_w2
        server server_w2 3.3.3.3:8546
    

    这里使用了两个前端(分别用于https和wss协议)和四个后端(分别对应四个转发规则),您可以根据实际需求进行调整。

    1. 确保您已经生成了合适的SSL证书,并将其路径指定为crt参数后的证书路径。

    2. 保存并关闭配置文件。

    3. 重新加载Haproxy的配置文件以使更改生效。在命令行运行以下命令:

    sudo service haproxy reload
    
    1. 确保防火墙已经允许相关的端口访问。如有需要,请配置防火墙以允许外部对1.1.1.1的443端口的访问。

    2. 完成以上步骤后,当访问https://1.1.1.1/h1时,请求将会被转发到http://2.2.2.2:8545;当访问https://1.1.1.1/h2时,请求将会被转发到http://3.3.3.3:8545;类似地,wss协议的请求也将会被正确转发。

    希望以上解决方案能够帮助到您。如果您还有其他问题或需要进一步的指导,请随时告诉我。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 修改了问题 8月7日
  • 创建了问题 8月7日

悬赏问题

  • ¥30 echarts 3d地图怎么实现一进来页面散点数据和卡片一起轮播
  • ¥15 数字图像的降噪滤波增强
  • ¥15 心碎了,为啥我的神经网络训练的时候第二个批次反向传播会报错呀,第一个批次都没有问题
  • ¥15 MSR2680-XS路由器频繁卡顿问题
  • ¥15 VB6可以成功读取的文件,用C#读不了
  • ¥15 如何使用micpyhon解析Modbus RTU返回指定站号的湿度值,并确保正确?
  • ¥15 C++ 句柄后台鼠标拖动如何实现
  • ¥15 有人会SIRIUS 5.8.0这个软件吗
  • ¥30 comsol仿真等离激元
  • ¥15 静电纺丝煅烧后如何得到柔性纤维