apache+jk+tomcat+ssl的https改造

项目背景

公司项目要进行https的改造,目前在测试环境搭建了一下,参考了网上的例子(http://blog.csdn.net/whumr1/article/details/7804992)

这里把主要的步骤在这里列一下:

首先搭建集群参考我的以前文章:http://www.cnblogs.com/aishangyizhihu/p/7527162.html

接下来说ssl的搭建

1、证书的也没有自生成,直接到腾讯申请的免费ca证书,不赘述(https://cloud.tencent.com/document/product/400/4143#3.-iis-.E8.AF.81.E4.B9.A6.E9.83.A8.E7.BD.B2)

2、apache部分

1)安装OpenSSL

yum install mod_ssl openssl

2)

修改apache/httpd.conf,放开Include conf/extra/httpd-ssl.conf的注释,如果没有自己添加一下,网上把这个文件下载一下即可

找到VirtualHost,修改为如以下内容

<VirtualHost 0.0.0.0:443>
    DocumentRoot "/var/www/html"(自己的根目录)
    ServerName www.domain.com(改成自己的域名)
  JkMount /* loadbalancer_a#配置转发地址,和workder.properties配合使用,把mod_jk.conf里面的地址转发复制一份放到这里,JkWorkersFile不需要,加上就报错了 SSLEngine on SSLCertificateFile /usr/local/apache/conf/2_www.domain.com_cert.crt(自己证书存放地) SSLCertificateKeyFile /usr/local/apache/conf/3_www.domain.com.key(自己证书存放地) SSLCertificateChainFile /usr/local/apache/conf/1_root_bundle.crt(自己证书存放地) </VirtualHost>
到此为止,配置基本完成。如果想禁止http访问,只开放https的话,把apache/httpd.conf下面的Listen 80注掉就可以了,这样就只开放了443的https端口
3、tomcat部分

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true" keystoreFile="d:/tomcat.keystore" keystorePass="123456"
clientAuth="false" sslProtocol="TLS" />

这个8443端口是后放开的,相当于有了4个端口,即在原先的三个端口的基础上,又把这个端口注释打开了,这里的844即原先8080和8009的转发重定向端口

4、lvs部分

 只要增加转发的端口443即可,例如:

virtual_server 192.168.1.100 443 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 7200
protocol TCP

real_server 192.168.1.30 443 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}

原文地址:https://www.cnblogs.com/aishangyizhihu/p/8575883.html