Tomcat使用https配置实战教程

时间:2021-05-29 08:57:55

今天继续给大家介绍Linux运维相关知识,本文主要内容是Tomcat使用https配置实战。

 

一、tomcat证书配置

首先,要实现https,就必须先具有tomcat证书。我们在安装tomcat的时候,肯定都先安装了JAVA,而JAVA中有自带的证书生成工具keytool,今天,我们就使用keytool来生成tomcat的证书。
执行命令:

keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "/usr/local/tomcat/conf/tomcat.keystore"

执行结果如下:

Tomcat使用https配置实战教程

这样,该命令执行完毕后,就会在本地生成一个密钥文件,如下所示:

Tomcat使用https配置实战教程


这样Tomcat的证书就完成了。在此过程中,要特别注意输入的密码和生成的文件路径和名称,在下面的配置中,我们需要使用这个证书文件,用于配置Tomcat对https的支持。

 

二、tomcat支持https配置

接下来,我们还要配置tomcat使用该证书,并开放8443端口,支持https。打开tomcat的主配置文件,找到8080端口的connector元素,在下面添加如下内容:

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

其中keystoreFile参数指定的是证书文件的位置,而keystorePass参数指定的是生成该证书的密码。这样,我们的tomcat就支持使用https了,并且监听端口为8443。我们重启Tomcat,发现Tomcat在启动后悔监听8443端口,如下所示:

Tomcat使用https配置实战教程

我们尝试用浏览器进行访问,结果如下:

Tomcat使用https配置实战教程

 

三、tomcat强制使用https

在上述配置中,我们的Tomcat既支持使用http协议,又支持使用https协议。我们都知道,https协议是一种不安全的传输协议,内容会以明文的形式进行传输,因此,在生产环境中,我们通常设置强制tomcat使用https协议,当有人使用http协议访问8080端口时,将该访问请求强制性重定向到8443端口上去。
要实现Tomcat对http协议的强制性重定向,我们需要打开conf目录下的web.xml文件,在文件的下方,添加如下内容:

<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使用https配置实战教程

完成上述操作后,重启Tomcat服务。此时,我们再次尝试使用HTTP协议访问Tomcat的8080端口,就会被重定向到8443端口,使用https协议了。因此,我们的实战配置成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

到此这篇关于Tomcat使用https配置实战教程的文章就介绍到这了,更多相关Tomcat使用https配置内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/weixin_40228200/article/details/123271281