本地Tomcat配置ssl 实现https访问

Posted baorant24

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了本地Tomcat配置ssl 实现https访问相关的知识,希望对你有一定的参考价值。

以下是关于本地配置ssl,在使用真正的ssl证书之前,可以使用这种方式试试水。 

1、使用java自带的的keytool工具来生成.keystore文件

keytool -genkey -alias tomcat -keyalg RSA

2、系统会提示输入密码,这里随意输入一个,并且记住 

3、之后会有一系列的提示(我是在windows下执行的)

[root@localhost ~]# keytool -genkey -alias tomcat -keyalg RSA
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: wang dalang
您的组织单位名称是什么?
[Unknown]: home
您的组织名称是什么?
[Unknown]: home
您所在的城市或区域名称是什么?
[Unknown]: home
您所在的省/市/自治区名称是什么?
[Unknown]: home
该单位的双字母国家/地区代码是什么?
[Unknown]: CN
CN=wang xingchao, OU=home, O=home, L=home, ST=home, C=CN是否正确?
[否]: y

输入 <tomcat> 的密钥口令
(如果和密钥库口令相同, 按回车):

最后一步,输入tomcat的密钥口令直接回车就行了 

4、这个时候,当前的目录会产生一个.keystore文件 

5、修改tomcat中server.xml文件,放掉注释添加两个属性 

keystoreFile=”/path/.keystore” keystorePass=”password” 

路径是存放.keystore的路径,密码就是刚刚生成的时候写的密码 

改后是这样

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

这里要注意,端口号为8443,这样要访问的url就是

https://localhost:8443/

如果不想使用端口号,就可以在配置文件里将port改为443即可

下面是结果 

本地Tomcat配置ssl 

6. 安装tomcat的证书在浏览器中


这里浏览器显示证书错误, 有红色警告


在浏览器中右击选择属性, 查看不到证书


本地Tomcat配置ssl


在这里我为了能导出证书, 在tomcat的根目录下新建了一个hello.html的页面

下面可以访问到


本地Tomcat配置ssl



将证书导出来


本地Tomcat配置ssl


下面就下一步就行


本地Tomcat配置ssl


本地Tomcat配置ssl

本地Tomcat配置ssl


本地Tomcat配置ssl

本地Tomcat配置ssl


我将证书导出到了桌面上,

得到了一个cer的证书文件

本地Tomcat配置ssl


下面打开浏览器的Internet选项  ----> 内容  ----> 证书


本地Tomcat配置ssl


选择"受信任的根证书颁发机构"  ----> 导入证书


本地Tomcat配置ssl


将生成的证书导入进来


本地Tomcat配置ssl


其余的步骤直接下一步即可


本地Tomcat配置ssl


重启浏览器,发现------没有红色警告了!!!

搞定!!!

以上是关于本地Tomcat配置ssl 实现https访问的主要内容,如果未能解决你的问题,请参考以下文章

本地测试Tomcat配置Https访问

Nginx+tomcat实现https访问(tomcat不配ssl证书)

TOMCAT配置HTTPS双向认证,为啥始终无法访问

Tomcat配置https及访问http自动跳转至https

阿里云服务器CentOS6.9 tomcat配置https安全访问

StartCom免费ssl证书申请以及在Tomcat环境中的配置