时间:2022-03-05来源:www.pcxitongcheng.com作者:电脑系统城
今天继续给大家介绍Linux运维相关知识,本文主要内容是Tomcat使用https配置实战。
首先,要实现https,就必须先具有tomcat证书。我们在安装tomcat的时候,肯定都先安装了JAVA,而JAVA中有自带的证书生成工具keytool,今天,我们就使用keytool来生成tomcat的证书。
执行命令:
1 | keytool -genkeypair - alias 'tomcat' -keyalg 'RSA' -keystore '/usr/local/tomcat/conf/tomcat.keystore' |
执行结果如下:
这样,该命令执行完毕后,就会在本地生成一个密钥文件,如下所示:
这样Tomcat的证书就完成了。在此过程中,要特别注意输入的密码和生成的文件路径和名称,在下面的配置中,我们需要使用这个证书文件,用于配置Tomcat对https的支持。
接下来,我们还要配置tomcat使用该证书,并开放8443端口,支持https。打开tomcat的主配置文件,找到8080端口的connector元素,在下面添加如下内容:
1 2 3 4 5 |
<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既支持使用http协议,又支持使用https协议。我们都知道,https协议是一种不安全的传输协议,内容会以明文的形式进行传输,因此,在生产环境中,我们通常设置强制tomcat使用https协议,当有人使用http协议访问8080端口时,将该访问请求强制性重定向到8443端口上去。
要实现Tomcat对http协议的强制性重定向,我们需要打开conf目录下的web.xml文件,在文件的下方,添加如下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<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服务。此时,我们再次尝试使用HTTP协议访问Tomcat的8080端口,就会被重定向到8443端口,使用https协议了。因此,我们的实战配置成功!
2023-03-17
Nginx主机域名配置实现2023-03-17
Nginx配置-日志格式配置方式2023-03-17
Apache APISIX Dashboard 未授权访问漏洞分析(CVE-2021-45232)正常项目无法访问(Linux 服务器),启动tomcat时卡在下图位置,项目无法启动。1、先检查tomcat日志、项目日志没有报错信息,且没再产生新的日志信息。2、jdk、tomcat 、 jvm 配置,服...
2023-03-15
这篇文章主要介绍了Kubernetes中Nginx服务启动失败排查流程(Error: ImagePullBackOff),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以...
2023-03-15