欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Tomcat配置https 访问http跳转https 配置域名

程序员文章站 2022-05-01 07:55:53
...
最近因为做的一个项目需要小程序,而小程序发布又需要https接口,所以只能申请了一个证书,配置了https接口,这里简单做一个总结。
我这里使用的tomcat配置https,nginx也可以,需要的小伙伴可以下去自行摸索一下。

一、申请证书,下载证书

阿里云可以申请免费一年的证书,后期续费需要收费,也可以使用jdk的keytool生成证书,根据自己需要。我这里使用的是阿里的免费证书。申请、验证后,将tomcat对应的证书下载下来。
Tomcat配置https 访问http跳转https 配置域名
如图,txt文件内容是证书密码。
.pfx 证书文件放到tomcat下的新建文件夹cert中(需与keystoreFile配置的路径一致),修改 .pfx 文件名称为cert.pfx.
Tomcat配置https 访问http跳转https 配置域名

二、Tomcat配置https

打开tomcat安装目录下的conf – server.xml文件。

1.将server.xml文件中的所有8443端口修改为443,修改后访问web项目路径可以不加端口号,因为https默认访问的端口号是443,也可以修改为别的端口。将server.xml文件中的如下代码注释取消,改为如下内容

<Connector connectionTimeout="20000" port="443"
            protocol="org.apache.coyote.http11.Http11Protocol"
            SSLEnabled="true"
            scheme="https"
            secure="true"
            keystoreFile="cert/cert.pfx"
            keystoreType="PKCS12"
            keystorePass="你的证书密码"
            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"/>

此时访问 https://127.0.0.1/ 路径即可打开tomcat
Tomcat配置https 访问http跳转https 配置域名

三、配置访问http默认跳转到https

打开web项目下的 /WEB-INF/web.xml 文件,在文件的后面加上如下内容:

<!-- 局部https安全连接配置 -->
	<security-constraint>
		<display-name>Auth</display-name>
		<web-resource-collection>
			<web-resource-name>Protected Area</web-resource-name>
			<url-pattern>/user/*</url-pattern> 
			<url-pattern>/main/index</url-pattern> 
		</web-resource-collection>
		<user-data-constraint>
			<description>SSL required</description>
			<transport-guarantee>CONFIDENTIAL</transport-guarantee>
		</user-data-constraint>
	</security-constraint>

配置完成后,重启tomcat,访问 127.0.0.1/项目名/ 会自动跳转到 https://127.0.0.1/项目名 路径。

四、为项目配置域名

通过域名解析来将域名与服务器上的项目id关联起来,使得我们可以通过访问 域名/项目名 来访问项目。
域名解析文档链接
Tomcat配置https 访问http跳转https 配置域名