为了提高网站的安全,我们可以使用https协议,下面我们来看下如何配置这个协议。
首先,我们需要下载证书,这个是需要购买的,https://www.getssl.cn/,可以到这个网站上购买。
windows配置
进入Tomcat安装目录, d:/apache-tomcat-8.0.18, 把下载的jks文件放在tomcat安装目录即可。
d:/apache-tomcat-8.0.18/getssl.cn.jks
打开tomcat配置文件 conf/server.xml,tomcat默认一般是8080端口或者 80端口,先找到这一段。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
如果要配置自动跳转的,需要将redirectPort=”8443”改成redirectPort=”443”。
然后在这段下面插入下面配置:
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true" sslEnabledProtocols="TLSv1.2,TLSv1.1,TLSv1"
clientAuth="false" sslProtocol="TLS" keystoreFile="getssl.cn.jks" keystorePass="123456" />
keystoreFile=”getssl.cn.jks”是 jks 文件名,需要修改
keystorePass=”123456″ 是生成证书时的密码
注意事项:
1,防火墙要允许443端口;
2,windows平台运行tomcat , bin目录下必须有tcnative-1.dll
另外配置tomcat自动跳转到HTTPS需要在项目的web.xml 文件中增加以下内容
<security-constraint>
<web-resource-collection>
<web-resource-name>Getssl</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
linux配置
除了证书路径有所不同,其余都一样。
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true" sslEnabledProtocols="TLSv1.2,TLSv1.1,TLSv1"
clientAuth="false" sslProtocol="TLS" keystoreFile="/etc/getssl.cn.jks" keystorePass="123456" />