为什么要配置SSL证书

1.https能有效保护用户隐私,能进行有效的身份验证,并能保证数据的保密性、完整性。

2.交流数据加密,为服务器端与客户端之间的数据传输进行加密。

3.可进行SEO优化。百度官方公开说明搜索引擎优先HTTPS网站。

4.避免浏览器弹出不安全的警告,添加SSL证书增强网站可信度。

有哪些免费的SSL证书

SSL证书分为三中类型:域名型SSL证书(DV SSL)、企业级SSL证书(OVSSL)、增强型SSL证书(EVSSL)。本篇主要介绍下面三个平台,因为大家购买的服务器大多都是下面平台的。

1.阿里云DV SSL证书

官网:https://common-buy.aliyun.com/?commodityCode=cas

阿里云的证书是有 Symantec 签发,Symantec 公司是 SSL/TLS 证书的领先提供商,为全球一百多万台网络服务器提供安全防护。一个阿云帐户最多签发20张免费证书。

2.腾讯云DV SSL证书

官网:https://cloud.tencent.com/product/ssl

腾讯云DV SSL域名型证书也是由Symantec公司签发。快速便捷部署到腾讯云,也可以下载证书,用于其他云服务器提供商。

3.Let’s Encrypt

官网: https://letsencrypt.org

这是国外一个公共的免费SSL项目,由Linux基金会托管,安装部署特别简单,已经得到了大家一致认同。

Tomcat安装SSL证书

安装之前先要去云平台下载好需要的证书

1.Tomcat服务器配置

进入Tomcat目录创建一个cert文件夹然后将下载好的内容解压之后传到此文件夹里面

2.更改conf文件夹下面的server.xml文件

找到安装tomcat目录下面的conf文件夹中的server.xml文件,找到<Connection port=”8443” 标签,修改为:

1
2
3
4
5
6
7
8
9
10
11
<Connector port="443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="cert/cert-1530000000000_www.XXXXXXXXX.com.pfx"
keystoreType="PKCS12"
keystorePass="XXOOXXOO"
clientAuth="false"
SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>

keystoreFile:cert文件夹下面的.pfx文件

keystorePass :cert文件夹下 pfx-password.txt 文件里的内容。

重启Tomcat即可通过Https进行访问(确认已经开启443端口)

1
2
3
4
进入tomcat的安装目录/usr/local/tomcat/bin
./startup.sh
./shutdown.sh
netstat -lntup|grep 443

3.配置自动跳转HTTPS

找到安装tomcat目录下在conf文件夹中的server.xml文件。

找到 <Connector port=”80” 标签,修改redirectPort参数值为”443”。完整代码为:

1
2
3
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />

然后找到安装在Tomcat下面的conf文件夹中的web.xml文件。文件内容标签中增加以下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
   <login-config> 
   <auth-method>CLIENT-CERT</auth-method>
   <realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
   <web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

然后再重启tomcat即可!