Windows下配置Tomcat使用https协议

场景

首先需要知道

HTTP+加密+数据完整性保护+认证=HTTPS
HTTP+SSL=HTTPS (在TCP与HTTP之间多了一层SSL/TSL协议)

所以配置Tomcat使用https协议,你需要以下几步:

1.创建tomcat证书

2.修改Tomcat的配置文件server.xml

3.导出Tomcat的证书

4.将Tomcat的证书安装到浏览器

实现

创建Tomcat证书

注意点:

1.使用JDK自带的keytool工具来生成证书。

其中keytool.exe是在jdk的安装目录下的bin下,比如这里默认是

C:\Program Files\Java\jdk1.8.0_112\bin

扫描二维码关注公众号,回复: 5273441 查看本文章

在此处打开命令行窗口,win7是按住shift,然后鼠标右击,在此处打开命令行窗口。

然后输入:

keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "g:\tomcat.keystore"

其中后面是证书存放的路径。

然后按照提示输入相关内容:

密钥库指令为6位字符。

名字与姓氏对应域名,这里是localhost。

其它内容根据自己实际情况填写。

回车之后会在g盘下生成tomcat.keystore文件。

记住上面输入的密码。后面会用到。

2.生成证书时名字与姓氏应该输入域名。

比如这里我是用的本电脑的Tomcat,所以姓名与姓氏填写的是localhost。

配置Tomcat服务器

找到Tomcat目录下的conf下的server.xml

使用Edit plus等打开,找到connector便签的位置,默认是注释掉的。

现在将其修改为:

<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"  keystoreFile="g:

\tomcat.keystore"   keystorePass="123456"/>

注:

1.在互联网上,http协议的默认端口是80,https的默认端口是443,所以这里将其改为443。

2.keystoreFile就是上面生成证书的路径,而keystorePass就是刚才设置的密码。

3.参数说明:

clientAuth: 如果想要Tomcat为了使用这个socket而要求所有SSL客户出示一个客户证书,置该值为true。

sslProtocol:  socket使用的加密/解密协议。如果使用的是Sun的JVM,则不建议改变这个值。据说IBM的1.4.1版的TLS协议的实现和一些流行的浏览器不兼容。这种情况下,使用SSL。 

protocol:原来属性是"HTTP/1.1",如果启动tomcat报错,将其修改为"org.apache.coyote.http11.Http11Protocol"

4.keystoreFile:这里是用的绝对路径,如果创建的keystore文件不在Tomcat认为的缺省位置(一个在Tomcat运行的home目录下的叫.keystore的文件),则加上该属性。可以指定一个绝对路径或依赖$CATALINA_BASE环境变量的相对路径。
这里是用的绝对路径,路径为上面生成的证书的路径,也可以用绝对路径,使用绝对路径要依赖 $CATALINA_BASE环境变量。

5.关于配置Tomcat环境变量请参考:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/87606485

6.比如这里我们配置成功了Tomcat的环境变量,将上面生成的证书放在Tomcat的目录下

然后将上面的server.xml修改为相对路径:

<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"  keystoreFile="\tomcat.keystore"   keystorePass="123456"/>

导出Tomcat的证书

这里是使用的360极速浏览器开启兼容模式,兼容IE。

启动Tomcat,直接输入:

https://localhost

会提示证书问题

为了能导出证书,在Tomcat下的webapps下的ROOT目录下新建hello.html

然后输入:

https://localhost/hello.html

然后右击网页空白处--属性--证书--详细信息

点击复制到文件

点击下一步

点击下一步

填写证书名,然后点击下一步

点击完成

导出成功,这里导出的路径是桌面,所以来到桌面可以看到证书文件。

安装证书到浏览器

找到浏览器的Internet选项--内容--证书

360浏览器是在工具中

点击证书

选择受信任的跟证书颁发机构,点击导入

点击下一步

点击浏览,选择刚才导出的证书

点击打开

点击下一步

点击下一步

点击完成

点击是

导入成功,点击确定。

验证成功

我们在浏览器中直接输入:

https://localhost/

可以看到已经不提示证书问题了。

我们将项目部署到Tomvat下的webapps目录下,启动Tomcat,然后在浏览器中将url

改为:

https://localhost:443后面加项目路径 ,不会提示网页错误且能成功跳转则配置成功。

猜你喜欢

转载自blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/87621652