https部署
Posted 披着凉皮的狼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了https部署相关的知识,希望对你有一定的参考价值。
背景
目前公司很多网站但是访问网站的时候都是类似下面的网址:在网址的左上角会明显的提示不安全字样,这也就是说客户端与服务器的连接没有安全保证,客户端的信息全部暴露在互联网上,会让客户有一种不安全感,跟着这个问题我们对目前公司的业务网站进行了改造,改造后访问如下:这样就会提示安全字样。
步骤
腾讯证书申请下来会有ssl证书的安装文档
(https://cloud.tencent.com/document/product/400/4143#3.-iis-.E8.AF.81.E4.B9.A6.E9.83.A8.E7.BD.B2),下面为我们自己的操作如下:
l 证书
证书网上有很多付费的,腾讯网站上有免费的申请,有效期为一年地址(https://buy.cloud.tencent.com/ssl?fromSource=ssl).
下载下来的证书解压会得到下面部分
这里我们需要apache和tomcat部分
l 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端口
l 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的转发重定向端口
l 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
}
}
}
全部配置完之后按顺序重启lvs、apache、tomcat即可
以上是关于https部署的主要内容,如果未能解决你的问题,请参考以下文章