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

测试:

相关推荐
FlyingBuffer2 小时前
Data_Socket和UDP_Socket
网络·网络协议·udp
信徒_2 小时前
一个完整的 HTTP/HTTPS 请求流程
网络协议·http·https
forestsea10 小时前
HTTP 黑科技
科技·网络协议·http
网络安全天地11 小时前
使用 Flutter 制作地图应用
websocket·网络协议·tcp/ip·http·网络安全·https·udp
to future_11 小时前
非阻塞IO,fcntl,多路转接,select,poll,epoll,reactor
linux·网络协议
车载测试工程师11 小时前
ARXML文件解析-1
经验分享·网络协议·tcp/ip·车载系统
JavaEdge.12 小时前
ssl.SSLCertVerificationError报错解决方案
网络·网络协议·ssl
JhonKI13 小时前
【从零实现Json-Rpc框架】- 项目实现 - 客户端注册主题整合 及 rpc流程示意
c++·qt·网络协议·rpc·json
洗发水很好用14 小时前
Nginx接收https并内部转发成http
nginx·http·https
LUCIAZZZ15 小时前
计算机网络-TCP的拥塞控制
网络协议·tcp/ip·计算机网络