Haproxy-1.5.x SSL配置

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://koumm.blog.51cto.com/703525/1539692

一直使用haproxy-1.4版本代理, 不支持ssl配置,haproxy-1.5版本支持,于是更新了版本进行测试。所使用的证书文件,使用原apache ssl证书文件进行简单处理可以在haproyx上使用。   
本来想使用haproxy-1.4的穿透的,但是要后端服务器均要配置ssl,于是配置在了Haproyx-1.5上,实现ssl终端CA认证。本文出自:http://koumm.blog.51cto.com

1. 安装


1

2

3

4

5

6

7

8

9

10

11

12

13

# 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   


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

-----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. 创建配置文件


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

# 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功能。

本文出自 “koumm的linux技术博客” 博客,请务必保留此出处http://koumm.blog.51cto.com/703525/1539692

时间: 2024-08-19 17:50:34

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

开发者论坛一周精粹(第五期) 关键词:必得邀请码 SSL配置 云盾 米农福利

阿里云论坛每周选取精华内容总结,精选论坛优质贴,每周更新一期,方便大家阅读!       [高危漏洞预警]Windows系统 SMB/RDP远程命令执行漏洞         作者:正禾  聚能聊话题:NSA网络武器被公开,面对突发高危漏洞事件,我们应该如何应对?         作者:正禾   4月分享有礼新活动发布,不用跪求,价值2万元的免费邀请码唾手可及         作者:jesuiszb 安全组规则让你的win主机更安全        作者:火蓝云   [新手教程]让windows自动

Haproxy+Keepalived集群实例配置

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1733880 环境说明: 操作系统: Redhat 6.5 x64,本文采用rpm方式安装haproxy,keepalived.    如果采用原码安装:可以参考基础CentOS5.9 Haproxy+Keepalived+Jboss集群实施架构一例     app1: 192.168.0.24     app1: 192

ssl 配置 mq后 ,导致webservices 客户端https 请求证书错误

问题描述 ssl 配置 mq后 ,导致webservices 客户端https 请求证书错误 active mq ssl配置后,导致axis2生成的webservice 客户端https 请求报错

多种不同的 MySQL 的 SSL 配置_Mysql

在这篇博客的帖子里,我将会描述不同的使用MySQL数据库的SSL配置方法. SSL给了你什么? 你可以通过互联网使用 MySQL 复制特性(replication) 或者通过互联网连接到MySQL. 还有可能是你通过企业网去连接,这样会有很多人访问.如果你使用一个自带设备(BYOD)网络,这就更是一个问题了. SSL在这里通过加密网络防止有针对性的监听.在与正确的服务器进行交互时,可以有效应对中间人攻击(man-in-the-middle attacks). 你还可以使用SSL客户端证书,让它同

图片-tomcat ssl 配置..............................

问题描述 tomcat ssl 配置.............................. 这种没配置过, 求指教. 解决方案 http://blog.csdn.net/jimmy609/article/details/18557955 解决方案二: http://blog.csdn.net/cuker919/article/details/7599956 解决方案三: 1.下载安装jdk-7u51-windows-i586.exe,安装目录:C:Program FilesJava: 2.

World Wide Web Publishing 服务尝试删除 IIS 所有的 SSL 配置数据失败的几种方法_应用技巧

World Wide Web Publishing 服务尝试删除 IIS 所有的 SSL 配置数据失败的几种方法总结了以下几个办法1:在Internet信息服务下有本地计算机(计算机机名),单击名键,选择断开,提示确实要断开本地计算机(计算机机名)吗?选择确定.  右键单击Internet,选择连接,计算机名填本机名称,用户名填本机管理员帐号(Administrator),确定.  World Wide Web Publishing 服务尝试删除 IIS 所有的 SSL 配置数据失败的几种方法2

NGINX当中的SSL配置(PEM启动密码免输入)

干过的都懂,这个东东好像很碍事. 很影响RELOAD的效率...并且,,,好像这个弄了之后,NGINX作RELOAD之后,可以即时更新配置了..(还是说那个DVROOT.CER影响的??未考证) http://segmentfault.com/q/1010000000119345 http://wangye.org/blog/archives/243/   这种情况可能是在设置私钥key时将密码设置写入了key文件,导致Nginx/Apache等系列服务器在启动时要求Enter PEM pass

实例讲解Apache+tomcat+ssl配置

apache     我的运行环境:Windows2003 Server SP4 + J2SDK1.5.0 + Apache2.0.54 + Tomcat5.5.9     **准备软件:    1.安装 Apache 2.0.54    2.Tomcat 5.5.14    3.Jk2连接器(mod_jk2.so)      一:配置Apache和tomcat     Apache安装在d:\Apache2 下,监听端口 80:    Tomcat在D:\Tomcat51 下,监听端口 808

Weblogic 81 CA配置以及单向SSL配置

web 最近由于工作原因,需要在本地搭建一个服务器,然后以C++做为客户端,以https协议与服务器进行数据交互.我一直从事C++开发,对J2EE.weblogic等相关内容并不熟悉,因此关于服务器配置方面的内容完全依靠网上资料.在网上查了很多相关资料,最后折腾了大半天才搞定,为了让以后像我这样的新手不再受折腾,写下此文,希望能帮上大家.   1.  安装weblogic81完毕 网上相关文档很多. 2.  配置CA,使用工具Keytool(JDK自带),首先在C盘建立目录C:\GetCA.运行