我需要使用两个不同的SSL证书配置HAProxy

> www.example.com

> api.example.com

现在我从serverfault(Configure multiple SSL certificates in Haproxy)上的帖子中了解到如何使用2个证书,但是服务器继续使用为这两个域提到的第一个证书.

配置:

frontend apache-https

bind 192.168.56.150:443 ssl crt /certs/crt1.pem crt /certs/cert2.pem

reqadd X-Forwarded-Proto:\ https

default_backend apache-http

backend apache-http

redirect scheme https if { hdr(Host) -i www.example.com } !{ ssl_fc }

redirect scheme https if { hdr(Host) -i api.example.com } !{ ssl_fc }

...

如何根据URL告诉HAProxy使用哪个证书?

完整配置:

global

log /dev/log local0

log /dev/log local1 notice

chroot /var/lib/haproxy

stats socket /run/haproxy/admin.sock mode 660 level admin

stats timeout 30s

user haproxy

group haproxy

daemon

# Default SSL material locations

ca-base /etc/ssl/certs

crt-base /etc/ssl/private

ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS

ssl-default-bind-options no-sslv3

tune.ssl.default-dh-param 2048 // better with 2048 but more processor intensive

defaults

log global

mode http

option tcplog

option dontlognull

timeout connect 5000

timeout client 50000

timeout server 50000

frontend apache-http

bind 0.0.0.0:80

mode http

option http-server-close # needed for forwardfor

option forwardfor # forward IP Address of client

reqadd X-Forwarded-Proto:\ http

default_backend apache-http

stats enable

frontend apache-https

bind 0.0.0.0:443 ssl crt cer1.pem cert2.pem

reqadd X-Forwarded-Proto:\ https

default_backend apache-http

backend apache-http

redirect scheme https if { hdr(Host) -i db.example.com } !{ ssl_fc }

redirect scheme https if { hdr(Host) -i api2.example.com } !{ ssl_fc }

balance roundrobin

cookie SERVERID insert indirect nocache

server www-1 10.0.0.101:80 cookie S1 check

server www-2 10.0.0.102:80 cookie S2 check

server www-3 10.0.0.103:80 cookie S3 check

linux生成ssl证书给haproxy,如何为多个SSL证书配置HAProxy相关推荐

  1. haproxy mysql配置文件详解_HAProxy基础配置-haproxy的配置文件说明

    defaults [] 默认配置项,针对以下的frontend.backend和lsiten生效,可以多个name. defaults常用的配置参数: option redispatch 当serve ...

  2. linux生成ssl申请文件,Shell脚本实现生成SSL自签署证书

    #!/bin/sh # # ssl 证书输出的根目录. sslOutputRoot="/etc/apache_ssl" if [ $# -eq 1 ]; then sslOutpu ...

  3. 服务器自签名证书过期可以,解决docker的tls(ssl)证书过期问题

    问题现象: [root@localhost ~]# docker image pull xxx.com.cn/centos7 Using default tag: latest Error respo ...

  4. SSL协议安全系列:PKI体系中的证书吊销

    GoSSIP_SJTU · 2016/03/03 10:06 0x00 前言 在前面的章节我们讨论了部分SSL/TLS握手协议.记录协议中存在的安全问题,针对它们的攻击以及相应的加固方案.在SSL/T ...

  5. phpstudy安装ssl证书_新版Siteground一键安装免费SSL证书 网站https安全访问

    新版Siteground一键安装免费SSL是很容易的,做外贸网站.电商网站一定要使用 https链接访问,这样才符合安全要求,还有搜索引擎优化.siteground提供的 SSL证书用起来特别方便,速 ...

  6. 服务器证书在注册表上位置,服务器ssl证书注册表

    服务器ssl证书注册表 内容精选 换一换 SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(访问方式为HTTPS),实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄 ...

  7. 用证书实现windows 2003下IIS的SSL安全通信

    随着Windows Server 2003操作系统的推出,Windows平台的安全性和易用性大大增强,然而,在默认情况下,IIS使用HTTP协议以明文形式传输数据,没有采取任何加密措施,用户的重要数据 ...

  8. Confluence 6 通过 SSL 或 HTTPS 运行 - 创建或请求一个 SSL 证书

    在启用 HTTPS 之前,你需要一个有效的证书,如果你已经有了一个有效的证书,你可以直接跳过这个步骤,进入 step 2. 你可以创建一个自签名的证书,或者从信任的 Certificate Autho ...

  9. nginx ssl加密_如何通过让我们加密SSL证书来保护Nginx

    nginx ssl加密 Let's Encrypt is a free, open source and automated certificate authority (CA) pioneered ...

最新文章

  1. 位地址和字节地址换算_关于ip地址的详解,看完这篇就够了
  2. 解决 There are no resources that can be added or removed from the server
  3. 解决:无法将文件“obj\x86\Debug\Windows123.exe”复制到“bin\Debug\Windows123.exe”。
  4. OpenCv之图像二值化(笔记12)
  5. 分布式缓存系统 Memcached 【转载】
  6. SAP License:老板都不懂ERP,怎么会用得好ERP呢?
  7. python学习笔记7-读取pdf并输出到excel
  8. 销毁Session和清空指定的属性
  9. matlab计算可达矩阵,matlab计算可达矩阵
  10. 计算机网络telnet命令作用,全面解析telnet命令
  11. oracle 有if语句吗,oracle的if语句
  12. 在哪里买腾讯云服务器,在哪查看我的腾讯云服务器购买记录?
  13. 【建模应用】PLS偏最小二乘回归原理与应用
  14. 从杂技表演到日剧GBM(r12笔记第23天)
  15. html超链接本地链接,为何本地连接变成本地连接2连接
  16. 设置android应用闪屏图片_android 闪屏设计
  17. 微信人工客服终于来了,但是「此」微信客服非「彼」微信客服
  18. 《大厂面试》面试官看了直呼想要的简历
  19. 升级 MDK 5.37 后的问题处理: AC6编译选项, printf, 重启失效等
  20. 华为css与堆叠,FAQ-S7706交换机CSS堆叠连接的线缆是否正确

热门文章

  1. 如何解决AttributeError: ‘DataFrame‘ object has no attribute ‘sort‘
  2. python占位符_Python(2)——Python的基础语句
  3. button点击后出现的边框_用Tkinter制作Python程序的图形用户界面(GUI),打包后比Qt5减少60M(77.5%)(实例63)...
  4. 计算机报警声 一高一低,有报警声电脑问题怎么处理 有报警声电脑问题处理方法【介绍】...
  5. AcWing 1738. 蹄球(特殊基环树)
  6. AcWing 4243. 传递信息(单源最短路)
  7. Flink读写Mysql(Java版)
  8. java我的世界1.14.4_我的世界1.14.4国际版下载
  9. 生存分析——快手的基于深度学习框架的集成⽣存分析软件KwaiSurvival(一)
  10. 笔记︱利用python + flask制作一个简易本地restful API