项目背景
公司项目要进行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
}
}
}