HAProxy配置SSL

haproxy 代理 ssl 有两种方式

1、haproxy 本身提供ssl 证书,后面的web 服务器走正常的http (偷懒方式)
2、haproxy 本身只提供代理,后面的web服务器https

 

第一种方式

需要编译haproxy 支持ssl,编译参数:

make TARGET=linux3100 USE_OPENSSL=1 ADDLIB=-lz
ldd haproxy | grep ssl
libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007fb0485e5000)
新建用户
useradd -s /sbin/nologin -M haproxy

配置参数:

frontend https_frontend

bind *:443 ssl crt /etc/ssl/certs/servername.pem
mode http
option httpclose
option forwardfor
reqadd X-Forwarded-Proto:\ https
default_backend web_server

backend web_server

mode http
balance roundrobin
cookie SERVERID insert indirect nocache
server s1 192.168.250.47:80 check cookie s1
server s2 192.168.250.49:80 check cookie s2

注意:这里的pem 文件是下面两个文件合并而成:

cat example.com.crt example.com.key > example.com.pem
cat /etc/pki/dashboard.crt  /etc/pki/dashboard.key | tee  /etc/pki/dashboard.pem
这一步使用手动合并使用nodepad++

运行

./haproxy -f conf/haproxy.cfg

 

第二种方式配置

不需要重新编译支持ssl,简单方便。需要后面的web服务器配置好ssl 即可。

frontend https_frontend

bind *:443
mode tcp
default_backend web_server

backend web_server
mode tcp
balance roundrobin
stick-table type ip size 200k expire 30m
stick on src
server s1 192.168.250.47:443
server s2 192.168.250.49:443

注意:这种模式下mode 必须是tcp 模式

3.配置说明

这一行要加,要不然reload会警告

tune.ssl.default-dh-param 2048

保留80,同时支持443 ssl,后面指定证书文件

redirect scheme https if !{ ssl_fc }

这一行是仅支持ssl,效果是:访问80端口是自动跳转到443的ssl

这是针对node生效,如果想全局使用的话,可以把这句话添加到frontend下

 这是针对node生效,如果想全局使用的话,可以把这句话添加到frontend下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值