假设 代理服务器为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之类的 我怎么搞都弄不出来
需要真的能手把手教的 别让我再去看那些我看过的文。 有偿!
【以下回答由 GPT 生成】
对于使用Haproxy实现负载均衡并进行反向代理的问题,我可以为您提供以下解决方案:
首先,确保您已经安装了Haproxy并具备配置文件的访问权限。
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协议)和四个后端(分别对应四个转发规则),您可以根据实际需求进行调整。
确保您已经生成了合适的SSL证书,并将其路径指定为crt
参数后的证书路径。
保存并关闭配置文件。
重新加载Haproxy的配置文件以使更改生效。在命令行运行以下命令:
sudo service haproxy reload
确保防火墙已经允许相关的端口访问。如有需要,请配置防火墙以允许外部对1.1.1.1的443端口的访问。
完成以上步骤后,当访问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协议的请求也将会被正确转发。
希望以上解决方案能够帮助到您。如果您还有其他问题或需要进一步的指导,请随时告诉我。
【相关推荐】