Haproxy-1.5.x SSL配置

1. 安装

# yum install pcre-devel openssl-devel -y 

# tar zxvf haproxy-1.5.3.tar.gz 

# cd haproxy-1.5.3 

# make TARGET=linux26 USE_STATIC_PCRE=1 USE_REGPARM=1 USE_LINUX_TPROXY=1 USE_OPENSSL=1 USE_ZLIB=1 ARCH=x86_64 

# make install PREFIX=/usr/local/haproxy 

# cd /usr/local/haproxy 

# mkdir conf

2. 准备pem证书文件

之前有配置过apache ssl CA认证配置文件,cer文件与key文件,pem文件就是将前面两个文件合并使用。

# cat my-server.cer my-server.key | tee my-server.pem

-----BEGIN CERTIFICATE----- 

MIID3zCCA0igAwIBAgIPBwACIBQBFAAAAAACFUN1MA0GCSqGSIb3DQEBBQUAMIIB 

JDENMAsGA1UEBh4EAEMATjEbMBkGA1UECB4SAEcAdQBhAG4AZwBkAG8AbgBnMRsw 

GQYDVQQHHhIARwB1AGEAbgBnAHoAaABvAHUxPTA7BgNVBAoeNABHAEQAQwBBACAA 

QwBlAHIAdABpAGYAaQBjAGEAdABlACAAQQB1AHQAaABvAHIAaQB0AHkxRzBFBgNV 

BAsePgBHAHUAYQBuAGcAZABvAG4AZwAgAEMAZQByAHQAaQBmAGkAYwBhAHQAZQAg 

AEEAdQB0AGgAbwByAGkAdAB5MVEwTwYDVQQDHkgARwBEAEMAQQAgAEcAdQBhAG4A 

ZwBkAG8AbgBnACAAQwBlAHIAdABpAGYAaQBjAGEAdABlACAAQQB1AHQAaABvAHIA 

aQB0AHkwHhcNMTQwMTEzMTYwMDAwWhcNMTkwMTMwMTYwMDAwWjCBrjENMAsGA1UE 

Bh4EAEMATjEPMA0GA1UECB4GbXdTV3cBMQ8wDQYDVQQHHgZtd1PjXgIxKTAnBgNV 

BAoeIG0LbWZ+z21OXwBT0VM6e6F0BlnUVFhPGk/hYG9OLV/DMSkwJwYDVQQLHiBt 

C21mfs9tTl8AU9FTOm0LbWZZJ1OmADEANAAwADFbpDElMCMGA1UEAx4cADEAOQAy 

AC4AMQA2ADgALgAyADMAMAAuADgANTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC 

gYEAz6XQgc/UBi/LtJh1BXTGxAyuWZY0nfkzPlv8cf2bRCMKadnM+iJ9PKv8mnpU 

TgKe6+c5zjqy+sTk6KEYVMMROY4InrykZY/7tA+dk+lqECU+fQ+bNAzLh5yPp6Ni 

2KzeG1V6/tF9t7syz8UWy6Bxgvdg3gu+M9vcpZUaD3NjsnECAwEAAaOBhTCBgjAf 

BgNVHSMEGDAWgBR3QwkQ9xWLOrAR0kx7B5QE8BRURjAdBgNVHQ4EFgQUUN8BHs4A 

rNrjCV9uSaeMw0/Fw/8wCwYDVR0PBAQDAgQwMBYGBSpWCwcBBA0xC4AJMjAxNDAx 

MTQxMBsGBSpWFQEDBBIwMDcxMTIwMTQwMTE0Njg2NDkwDQYJKoZIhvcNAQEFBQAD 

gYEAeKrIQ0u1cmgUz8qwW07VF1s6q+fKJf6OJnRDWshsG7ZRSJH2rZx7oohpZQJk 

DUpLOGbvplXGFgyXCeQYyJSiStis0Ef6Jr1Y3iOjIrn7zASCu9EjuUSCreyF7w8c 

4e4At2IMrUUTo+UZAiYRfqfMKpP7gYUY0LNmq2AEDbU4Fb0= 

-----END CERTIFICATE----- 

-----BEGIN RSA PRIVATE KEY----- 

MIICXQIBAAKBgQDPpdCBz9QGL8u0mHUFdMbEDK5ZljSd+TM+W/xx/ZtEIwpp2cz6 

In08q/yaelROAp7r5znOOrL6xOTooRhUwxE5jgievKRlj/u0D52T6WoQJT59D5s0 

DMuHnI+no2LYrN4bVXr+0X23uzLPxRbLoHGC92DeC74z29yllRoPc2OycQIDAQAB 

AoGBALIBDiZJ+BM5o+H0E9USj1X/HPM1fXOy7gfWKSm64wBdHY8yI7KGIGADe68d 

kOmy+3N1K6urzESGx0jY2JfJBRiKR3QW+fEL5UBhj/PC5Nj9OMxwEK0WqYlfhivx 

EpPycuwKhDN7aYcGJIK/J38j4Q8G383wDev1Sl9beLRoqs+FAkEA+LtkdOVU8hfa 

Xx44Tl6PxsY25LWunjuoUu6KZOWLvsAJK+CGV91oZAJk+QwXIZj8tDjPAGrcvHMM 

cENwrvFWuwJBANW3GKsHELMTzJumKUXlSPDlU5xGn7H2PQOc+FaYuinK6K94E55t 

E7MN6Oe+1avOTLYlRVsv2klPUkK1DlrOxsMCQBEFmgFZ9G9A7KPXyJisZgB/biBG 

wrV3dbR/OJ9hCig6siX7jpYSw+McOtbEWgzlkF2xCZGIvqRy5yYDp4GBaKMCQQDQ 

0F+X7AVTE8tdYZL+KjOEvG1fSloKpg+jkiHLatqqrwl/ORHiP615y+N/W6Smg6HM 

bso/eJgN/STg7MsjytnFAkAVwZMhaoIWIocbyoA3eUQVIrUDynDMq27TDFwltvaL 

ihOkwBYuzDujgOBLwY+pLg6SqphDhgP92OCg+VVqty02 

-----END RSA PRIVATE KEY-----

3. 创建配置文件

# vi /usr/local/haproxy/conf/haproxy.cfg 
global 
log 127.0.0.1 local0 
maxconn 65535 
chroot /usr/local/haproxy 
uid 99 
gid 99 
stats socket /usr/local/haproxy/HaproxSocket level admin 
daemon 
nbproc 1 
pidfile /usr/local/haproxy/haproxy.pid 
#debug 
tune.ssl.default-dh-param 2048
defaults 
log 127.0.0.1 local3 
mode http 
option httplog 
option httplog clf 
option httpclose 
option dontlognull 
option forwardfor 
option redispatch 
retries 2 
maxconn 2000 
balance source 
#balance roundrobin 
stats uri /haproxy-stats 
stats refresh 10s 
timeout client 60s 
timeout connect 9s 
timeout server 30s 
timeout check 5s
listen TEST_APP_Cluster 
bind *:80 
mode http 
option httpchk GET /test.html HTTP/1.0\r\nHost:192.168.10.180 
server node01 192.168.0.100:100 weight 3 check inter 2000 rise 2 fall 1 
server node02 192.168.0.101:100 weight 3 backup check inter 2000 rise 2 fall 1
listen TEST_APP_SSL 
bind *:443 ssl crt /usr/local/haproxy/conf/my-server.pem 
reqadd X-Forwarded-Proto:\ https 
mode http 
option httpchk GET /test.html HTTP/1.0\r\nHost:192.168.10.180 
server node01 192.168.0.100:100 weight 3 check inter 2000 rise 2 fall 1 
server node02 192.168.0.101:100 weight 3 backup check inter 2000 rise 2 fall 1
listen stats_auth 0.0.0.0:91 
stats enable 
stats uri /admin 
stats realm "HA_CONSOLE" 
stats auth admin:123456 
stats hide-version 
stats refresh 10s 
stats admin if TRUE

启动端口截图

4. 配置要点

由于证书采用2048长度配置,默认配置文件会报错,加上tune.ssl.default-dh-param 2048参数后,问题解决,采用pem格式的证书还可以通过haproxy-1.4+stunnel方式实现ssl功能。

Haproxy-1.5.x SSL配置

时间: 2024-10-10 05:39:06

Haproxy-1.5.x SSL配置的相关文章

gitlab haproxy ssl 配置

现在网上的gitlab都是基于nginx代理gitlabsocket的访问方式   配置基于nginx的https无需多说,配置只基于haproxy的https    后端选择代理   gitlab的Unicorn 需要修改的配置有  /home/git/gitlab/config/unicorn.rb /home/git/gitlab/config/gitlab.config 此处host修改为  FQDN  也就是你的ip或者address port修改为 443 https 修改为true

HaProxy介绍,安装及配置

1,HaProxy简介HAProxy 是一款可靠的,提供高可用性.负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理.HAProxy运行在时下的硬件上,完全可以支持数以万计的 并发连接.并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上. 2,安装配置HaProxy以下实验环境均为Ce

HAPROXY实现web负责均衡配置

本人系统RedHat6.4 ,HAPROXY版本为haproxy-1.3.15.10.tar.gz 安装 安装PCRE –       [[email protected]~]# yum -y install pcre pcre-devel 解压并进入haproxy目录 –       [[email protected]~]# tar xvzf haproxy-1.4.24.tar.gz –       [[email protected]~]# cd haproxy-1.4.24 查看内核版

小菜鸟学习SPRING BOOT -- ssl配置

菜鸟新来,大神勿喷,些许醍醐,感激涕零.因为 我总是装幽默,是因为我想让自己快乐. ssl协议位于tcp/ip协议与各种应用协议之间,为数据通信提供安全支持. ssl协议分为两层: ssl记录协议,它建立在可靠传输协议之上,为高层协议提供数据封装.压缩.加密等基本功能支持. ssl握手协议,它建立在ssl记录协议之上,用于实际数据传输开始前,通信双方进行身份认证.协商加密算法.交换加密密钥等 基于B/S的web应用,是通过https来实现ssl的.https是http的安全版,即在http下加入

haproxy学习——简介、基本配置(二)

官网:http://www.haproxy.org/ 个人感觉haproxy学习的重点在于配置上,把配置文档搞懂了就明白大部分套路了.不过本篇内容属于入门学习:1.使用haproxy简单的实现负载均衡的效果.2.使用自带监控查看效果.后续待学习的方向是访问日志配置.优化等~ 简介: 我在虚拟机上装的是1.5+版本,对应的haproxy官方配置文档(1.5+):http://www.haproxy.org/download/1.5/doc/configuration.txt(事实证明英语真的很重要

HAProxy负载均衡器的安装及配置(转)

软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. AD: 软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. HAProxy相比LVS的使用要简单很多,功能方面也很丰富.当 前,HAProxy支持两种主要的代理

Centos7下Apache详细安装配置及证书申请SSL配置介绍

首先说到Centos大家都已经非常熟悉了,所以我们也就不多介绍关于Centos具体发展了,我们首先知道在Centos7之前版本命令和ReadHat的命令完全一样的,可Centos从6.0版本升级到Centos7版本之后,命令及功能上有了很大的变化,最明显的差别就是从安装的操作界面及操作命令上已经有很大变化了,更不用说功能上的变化了,比如centos6.x版本的iptalbes到centos7的firewall的变化,当然,变化了很多,我也就不多说了,今天呢,主要给大家介绍一下再Centos7下A

Tomcat SSL配置及Tomcat CA证书安装

Tomcat既可以作为独立的Servlet容器,也可以作为其他HTTP服务器附加的Servlet容器.如果Tomcat在非独立模式下工作, 通常不必配置SSL,由它从属的HTTP服务器来实现和客户的SSL通信.Tomcat和HTTP服务器之间的通信无须采用加密机制,HTTP服务器将解 密后的数据传给Tomcat,并把Tomcat发来的数据加密后传给客户. 如果Tomcat作为独立的Java Web服务器,则可以根据安全需要,为Tomcat配置SSL,它包含以下两个步骤: (1) 准备安全证书.

SSL 通信原理及Tomcat SSL 配置

SSL 通信原理及Tomcat SSL 双向配置 目录1 参考资料 .................................................................................................................................. 12 SSL(Server Socket Layer)简介 .......................................................