想要使用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文件路径。