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

测试:

相关推荐
lllsure14 分钟前
详解:TCP/IP五层(四层)协议模型
网络·网络协议·tcp/ip
Themberfue1 小时前
UDP/TCP ⑤-KCP || QUIC || 应用场景
网络·网络协议·tcp/ip·计算机网络·udp
啥也学不会a10 小时前
PLC通信
开发语言·网络·网络协议·c#
小马爱打代码17 小时前
TCP 详解
网络·网络协议·tcp/ip
聿琴惜荭顏丶18 小时前
.NET MAUI进行UDP通信(二)
网络协议·udp·.net
hkNaruto19 小时前
【P2P】基于 Nebula 的 P2P 通信技术的虚拟局域网游戏设计方案
网络协议·游戏·p2p
Themberfue20 小时前
UDP/TCP ③-拥塞控制 || 滑动窗口 || 流量控制 || 快速重传
网络·网络协议·tcp/ip·计算机网络·udp
zhu090215010221 小时前
minio https配置
网络协议·http·https
鹅肝手握高V五色21 小时前
免费代理抓包工具SniffMaster(嗅探大师)抓取https
网络协议·http·https
Zfox_1 天前
应用层协议 HTTP 讲解&实战:从0实现HTTP 服务器
linux·服务器·网络·c++·网络协议·http