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

测试:

相关推荐
橘子真甜~17 分钟前
C/C++ Linux网络编程10 - http协议
linux·服务器·网络·c++·网络协议·http
车载测试工程师2 小时前
CAPL学习-ETH功能函数-方法类4
网络协议·tcp/ip·以太网·capl·canoe
hnlq2 小时前
基于dpdk的用户态协议栈的实现(三)—— TCP的三次握手实现
网络·网络协议·tcp/ip
sugar__salt3 小时前
网络编程套接字(二)——TCP
java·网络·网络协议·tcp/ip·java-ee·javaee
濊繵6 小时前
Linux网络--HTTP cookie 与 session
网络·网络协议·http
云和数据.ChenGuang6 小时前
运维工程师软件之httpd`(Apache HTTP Server)
运维·http·apache
Tandy12356_6 小时前
手写TCP/IP协议栈——ARP超时重新请求
c语言·c++·网络协议·计算机网络
方块A6 小时前
轻量级的 HTTP 跳转服务
网络·网络协议·http
爱跑步的程序员~6 小时前
TCP三次握手
网络·网络协议·tcp/ip
同学807966 小时前
新版本Chrome谷歌浏览器访问本地网络请求跨域无法正常请求
前端·http