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

测试:

相关推荐
DieSnowK3 小时前
[项目][WebServer][Makefile & Shell]详细讲解
开发语言·c++·http·makefile·shell·项目·webserver
pemper_3 小时前
怎么操作使http变成https访问?
网络·网络协议·http·https·ssl
冷凝女子3 小时前
【QT】基于HTTP协议的网络应用程序
开发语言·qt·http
学java的小菜鸟啊4 小时前
第五章 网络编程 TCP/UDP/Socket
java·开发语言·网络·数据结构·网络协议·tcp/ip·udp
新手嵌入式学习4 小时前
网络协议头分析
网络·网络协议
运维Z叔6 小时前
云安全 | AWS S3存储桶安全设计缺陷分析
android·网络·网络协议·tcp/ip·安全·云计算·aws
陈大爷(有低保)6 小时前
UDP Socket聊天室(Java)
java·网络协议·udp
SUGERBOOM9 小时前
【网络安全】网络基础第一阶段——第一节:网络协议基础---- OSI与TCP/IP协议
网络·网络协议·web安全
小黑爱编程9 小时前
【LInux】HTTPS是如何实现安全传输的
linux·安全·https
Karoku06616 小时前
【网站架构部署与优化】web服务与http协议
linux·运维·服务器·数据库·http·架构