【tomcat】使用jks配置https

https并不是一种新的应用层协议,只是在http和tcp通信时,先由http和ssl通信,再由ssl和tcp通信。ssl本身是独立于http的协议。
在这里插入图片描述
想要使用https需要有SSL证书,本文以jks(java keystore)为例,使用jdk的keytool(bin目录)工具生成keystore,在Tomcat中配置https。

keytool -genkeypair -alias tomcat9 -keypass tomcat9
-keyalg RSA -keystore ~/tomcat9.keystore

在这里插入图片描述
有了keystore就可以在tomcat中配置了,这里使用的是tomcat9,通常这种开源的中间件对于使用者来说,主战场都在配置文件。回到tomcat9的配置文件/conf/server.xml,编辑Connector 8443。

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
  maxThreads="150" SSLEnabled="true" defaultSSLHostConfigName="tomcat9.com">
  <SSLHostConfig hostName="tomcat9.com">
   <Certificate certificateKeystoreFile="/root/tomcat9.keystore"
      certificateKeystorePassword="tomcat9" type="RSA" />
  </SSLHostConfig>
</Connector>

启动tomcat9,请求url:https://xx.xx.xx.xx:8443,可以正常访问:
在这里插入图片描述
注意:tomcat8.5之后,在Connector元素中配置相关SSL属性已被废弃,应该使用SSLHostConfig and Certificate;端口8443可以直接改为https默认的443端口;certificateKeystoreFile需要设置自己的keystore文件路径。

觉得有用,点个关注:
在这里插入图片描述

原创文章 23 获赞 20 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43275277/article/details/106157009
今日推荐