Lvs配置Tomcat集群 Https协议(SSL)

Lvs配置Tomcat集群 Https协议(SSL)


1、先完成对Tomcat的https配置 ,多个tomcat需要把证书复制到每一个tomcat服务器下面

tomcat配置Https参考: 配置Tomcat使用https协议(配置SSL协议)


2、修改keepalived.conf配置文件

Keepalived使用参考: CentOS7 Keepalived+LVS 负载均衡 后台节点健康检查


将原来的HTTP_GET 改成现在SSL_GET , 原来的端口8080改成8443端口

virtual_server 192.168.80.120 8443 { 
   delay_loop 6                  
   lb_algo rr                     
   lb_kind DR                          
   persistence_timeout 300           
   protocol TCP                    
   real_server 192.168.80.129 8443 {   
       weight 1                      
        SSL_GET {
            url { 
              path /index.jsp
              digest de189aa6fbe0f5890e75fc8d8bcf4f90
            }
            connect_timeout 5
            nb_get_retry 3
            delay_before_retry 3
        }       
   }

   real_server 192.168.80.131 8443 {    
       weight 1
        SSL_GET {
            url { 
              path /index.jsp
              digest 39f65aa54d9cf147e1c5d2bc87efc2cf
            }
            connect_timeout 5
            nb_get_retry 3
            delay_before_retry 3
        }        
   }
}

这个值一定要设置。

keepalived persistence_timeout参数意义 LVS Persistence 参数的作用

persistence_timeout 300 


3.浏览器访问https://192.168.80.120:8443/tomcat.png   

LVS的虚拟IP地址(192.168.80.120)。

我有俩台tomcat服务器配置成HTTPS模式,分别为:192.168.80.129,与192.168.80.131。

备注:因为LVS是工作在TCP这一层的(四层),它是在SSL协议这一层的下面,所以LVS不对包做任何处理,直接将包进行转发。

SSL协议
TCP协议

Lvs配置Tomcat集群 Https协议(SSL)_第1张图片

Lvs配置Tomcat集群 Https协议(SSL)_第2张图片


4.通过抓包工具分析一下(HTTPS)SSL协议的数据传输过程。(建议先仔细研究过SSL协议,下文只是通过抓包验证一下理论知识。) 下面只是分析,也未必完全正确,只是个人的理解。

Lvs配置Tomcat集群 Https协议(SSL)_第3张图片

在浏览器第一次访问HTTPS的站点的时候,它首先会去下载证书,然后才会发起资源的请求。
比如我要打开的是一张图片:https://192.168.80.129:8443/tomcat.png
那么浏览器会去下载证书,并且验证证书。(前1-15个包)。 前1-15个包的端口为11730,目标端口8443。

(1-3)个数据包为TCP的三次握手,没啥好说的。 
(4-5)个包应该是客户端与服务器端的协商加密方式 例如支持的加密方式 SSL支持的版本等。
(6)第6个包应该是服务端返回给客户端的证书。(测试过很多次,换不同的浏览器,只有证书有这么大)。
(7-15)个包 应该是后续的SSL协议,交换私钥啥的。具体请参考SSL协议。
Lvs配置Tomcat集群 Https协议(SSL)_第4张图片

第15个包是客户端强制结束TCPIP连接,发送了reset与服务器断开连接。


(16,17,18)这三个包又是TCP的三次握手,注意看这次启用了新的端口(11741),这个连接才是去下载tomcat.png的。

在服务器端查看TCP会话也能看到 这个会话。

(19-end)这些包就应该是正常HTTP往返的数据包了。




你可能感兴趣的:(Web服务器)