Tomcat9配置https链接
  TEZNKK3IfmPf 2023年11月14日 24 0

Tomcat版本:apache-tomcat-9.0.27 jdk版本:1.8.0_212 浏览器:火狐

1. 生成证书

https协议需要证书,开发时我们可以使用jdk自带的keytool工具生成一个证书来进行测试;

首先确保本地有jdk的环境,可以使用java -version来查看,然后运行以下代码,姓氏名称什么的随便填写即可.

keytool -genkeypair -alias testKey -keyalg RSA -storepass 123456 -keyalg RSA -keysize 2048 -validity 3650 -keystore ./testKey.jks
<!--
-alias testKey:证书项的名字,必填项
-keyalg RSA:证书签名算法,tomcat建议RSA
-storepass 123456:密钥库密码,也就是等下要生成的test.keystore的访问密码,妥善保管
-validity 3650:证书有效期,3650天,即10年
-keystore ./testKey.jks:要生成的文件的位置,./test.keystore表示存储在当前目录下
-->

然后我们可以看到有提示信息,运行提示信息里面的代码

keytool -importkeystore -srckeystore ./testKey.jks -destkeystore ./testKey.jks -deststoretype pkcs12

可以看到已经成功生成证书"testKey.jks"

2. 配置https连接器

2.1 将生成的testKey.jks密钥库文件拷贝到Tomcat服务器的conf目录下

2.2 修改server.xml文件,配置https连接器

<!-- 注释掉http连接器 -->
<!--
<Connector port="8080" protocol="HTTP/1.1"
					 connectionTimeout="20000"
					 redirectPort="8443" />
-->
<!-- 释放https连接器 -->
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
					 maxThreads="150" SSLEnabled="true">
		<SSLHostConfig>
				<Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
										 type="RSA" />
		</SSLHostConfig>
</Connector>

修改https连接器的端口号(如果URL不想带端口号,则修改成https的默认端口443即可,切记不能设置为80,否则无法访问,因为80是http的默认端口)、秘钥库文件路径,及配置秘钥的口令(就是生成秘钥文件时设置的口令),.pfx格式是同样的设置方式,只需修改证书路径和密码即可

<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
					 maxThreads="150" SSLEnabled="true">
		<SSLHostConfig>
				<Certificate certificateKeystoreFile="conf/testKey.jks"
					 type="RSA" certificateKeystorePassword="123456" />
		</SSLHostConfig>
</Connector>

3. 测试

使用http访问,我们看到是无法访问成功的,返回了报错信息

使用https访问,因我们是自己生成的证书,因此浏览器给了提示信息,

我们无视即可,点击高级-->接受风险继续

可以看到我们通过https成功访问了页面

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2023年11月15日   28   0   0 tomcat
  TEZNKK3IfmPf   2024年05月17日   41   0   0 golanghttps
  TEZNKK3IfmPf   2024年05月31日   28   0   0 httphttps
  TEZNKK3IfmPf   2023年11月15日   29   0   0 tomcat
  TEZNKK3IfmPf   2023年11月15日   31   0   0 端口号tomcat
TEZNKK3IfmPf