前言:
对于tomcat配置https还是挺简单的,首先你需要一个网站证书(里面包含了公钥和私钥),这个证书相当于钥匙,但是https证书是需要花钱买的,我们在练习模拟不需要花钱买,可以使用 jdk 提供的一个工具自己生成一个证书,哪有了证书其他的操作就一样啦;
注意:
谷歌浏览器对于这种免费的证书支持的不好,所以需要使用其他浏览器访问
生成证书
使用jdk中的keytool工具生成免费的密钥库文件(也就是证书)
在tomcat/conf下命令行输入以下命令(证书生成后就会存放在tomcat/conf目录下):
#命令的解释:
#keytool -genkey -alias lagou(起的别名)-storetype PKCS12 -keyalg RSA(使用的加密算法)
#-keystore lagou.keystore(产生的证书的名称)
keytool -genkey -alias ceshi -storetype PKCS12 -keyalg RSA -keystore https.keystore
(输入以后填写相应的信息,如下图:
● 密钥库密码:我输入的是 123456
● 您的名字与姓氏是什么:这里是在server.xml中标签配置的name值,所以我这里是:localhost
● 组织单位名:可以填公司名
● 组织名:可以填公司名
● 其他的见名思意
配置conf/server.xml
添加如下配置:
<!-- certificateKeystoreFile 用于指定证书所在的目录 ;
certificateKeystorePassword 用于指定证书的密码;
type是使用的加密算法-->
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" schema="https" secure="true" SSLEnabled="true">
<SSLHostConfig>
<Certificate
certificateKeystoreFile="D:/Tomcat/tomcat-8/conf/https.keystore"
certificateKeystorePassword="123456" type="RSA"
/>
</SSLHostConfig>
</Connector>
访问测试
注意:
谷歌浏览器对于免费的证书支持的不好,所以要使用其他浏览器访问测试
输入:https://localhost:8443 进行访问:
出现以下提示;因为该证书是自己生成的,是不被信任的,所以点击高级,再点击继续前往
注意:
因为浏览器不同可能继续前往的显示状态也不同,反正找到继续前往的链接点进去就是啦
就可以成功进入: