Haproxy实现https

haproxy可以实现https的证书安全,从用户到haproxy为https,从haproxy到后端服务器用http通信 ,但是基于性能考虑,生产中证书都是在后端服务器比如nginx上实现。

配置HAProxy支持https协议,支持ssl会话:

bind *:443 ssl crt /PATH/TO/SOME_PEM_FILE

指令 crt 后证书文件为PEM格式,需要同时包含证书和所有私钥:

cat demo.key demo.crt > demo.pem

把80端口的请求重向定443:

bind *:80 redirect scheme https if !{ ssl_fc }

一、实验环境

haproxy:172.25.254.100

RS1:172.25.254.10

RS2:172.25.254.20

web服务:nginx

关闭防火墙和SELinux

systemctl stop firewalld

setenforce 0

二、实现步骤

1、制作证书

haproxy:

root@haproxy \~\]# mkdir -p /etc/haproxy/certs \[root@haproxy \~\]# openssl req -newkey rsa:2048 -nodes -sha256 --keyout /etc/haproxy/certs/ouqisheng.org.key -x509 -days 365 -out /etc/haproxy/certs/ouqisheng.org.crt \[root@haproxy \~\]# cat /etc/haproxy/certs/ouqisheng.org.key /etc/haproxy/certs/ouqisheng.org.crt \> /etc/haproxy/certs/ouqisheng.pem

2、配置haproxy

vim /etc/haproxy/haproxy.cfg

重启服务:

systemctl restart haproxy.service

3、测试结果

添加本地解析:

vim /etc/hosts

测试:

相关推荐
IUGEI1 小时前
【计算机网络】HTTP/3如何实现可靠传输?
java·网络·后端·网络协议·tcp/ip·计算机网络·http
爱学习的大牛1234 小时前
基于 FRP 实现内网穿透的跨网络 HTTP 服务转发方案
网络·网络协议·http
重启的码农4 小时前
enet源码解析(5)事件驱动服务 (Event Service)
c++·网络协议
重启的码农4 小时前
enet源码解析(6)协议处理逻辑 (Protocol Processing)
c++·网络协议
韩师学子--小倪6 小时前
http status 400 bad request
http
草莓熊Lotso6 小时前
Git 本地操作进阶:版本回退、撤销修改与文件删除全攻略
java·javascript·c++·人工智能·git·python·网络协议
ANGLAL6 小时前
30.分布式事务:本地事务 + RPC 的“隐形炸弹”
分布式·网络协议·rpc
澄岚明雪6 小时前
八股复习之计算机网络1
网络协议·tcp/ip·计算机网络·http·https·信息与通信
不一样的故事1266 小时前
要将 Git 仓库的上传(推送)方式从 HTTP/HTTPS 改为 SSH,
git·http·https
q***55587 小时前
使用 Nginx 搭建代理服务器(正向代理 HTTPS 网站)指南
运维·nginx·https