使用nginx+keepalived实现https负载均衡以及高可用

本文介绍了如何使用nginx+keepalived搭建HTTPS负载均衡和高可用系统,避免了传统方式中多证书带来的效率问题。通过生成一个证书用于负载均衡器的VIP,并详细阐述了安装python、pcre、nginx、keepalived的步骤,以及配置nginx为HTTPS、设置负载均衡和反向代理的过程。
摘要由CSDN通过智能技术生成

简要介绍

         为了实现https的改造,这里我们提出了两种解决方案,软负载(nginx+keepalived)和硬负载(F5),这里主要介绍一下软负载的实现思路和配置步骤:

         http的常规的常规方式是生成一个颁发给某个域名或者服务器IP的证书(我们没有域名,只能颁发给服务器IP),然后在中间件中引入证书,并将连接协议修改为通过ssl安全套接字传输的https协议。然后客户端通过信任或导入证书后,访问咱们的程序,此时由客户端到服务端的数据传输全部经过加密,保证了系统的安全性。

但是这种方式并不适合我们,因为我们采用了冗余部署的方式,在多个portal节点的外层,我们应用了负载均衡器,起到了分流的作用。刚才提到我们的证书是颁发给服务器IP的,所以我们负载均衡器虚拟出的IP也需要一个证书,这样就形成一种什么情况呢?比如说我们有两个portal服务器,这样我们需要生成三个证书,负载均衡器在收到请求后使用F5证书进行解密,再通过portal所在服务器的证书再加密,将请求转发到portal服务器,portal服务器最后再使用自己的证书再解密,且不说负载均衡器是否支持这种多个证书的转发,单从效率来讲,就很不合理。如下图:


  所以我们现在推荐的方案中,我们为负载均衡器虚拟出的IP生成一个证书,仅将负载均衡器发布成https,tomcat还是http的,这样我们保证了客户端到服务端的数据传输过程中的安全,也节省了一定效率。如下图:


为了实现这种方式部署方式,我们采用了nginx+keepalived的方式实现负载均衡以及反向代理,nginx是目前比较主流的用于实现负载均衡以及反向代理的组件,同时为了避免nginx的单点故障,我们使用了keepalived,keepalived可以将两台nginx服务器虚拟出一个IP,实现对两台nginx服务器的监控,同时每个nginx都可实现对两套portal、admincenter服务的负载。部署架构图如下:

准备工作

软件环境:

Python-2.7.10.tgz  //nginx依赖

pcre-8.30.tar.gz  //nginx依赖

nginx-1.9.1.tar.gz//nginx安装包

keepalived-1.2.24.tar.gz//keepalived安装包

cer.sh  //证书生成脚本

chk_nginx.sh  //nginx状态服务监控脚本

 

网络环境:

Master_ip:10.166.6.173  //应用A1

backup_ip:10.166.6.173  //应用A2

VIP:10.166.6.184  //应用A1、A2虚拟出的ip

1、安装python

1、 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值