本地Tomcat配置ssl 实现https访问

时间:2022-10-05 17:37:32

以下是关于本地配置ssl,在使用真正的ssl证书之前,可以使用这种方式试试水。
1、使用java自带的的keytool工具来生成.keystore文件

keytool -genkey -alias tomcat -keyalg RSA

2、系统会提示输入密码,这里随意输入一个,并且记住
3、之后会有一系列的提示(我是在linux下执行的)

[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文件
也许是隐藏文件,这里使用

[root@localhost ~]# ls -a
. anaconda-ks.cfg .bash_logout .bashrc .config hello.sh .keystore .pki .tcshrc
.. .bash_history .bash_profile .cache .cshrc index.html?id=462457 .mozilla .rediscli_history .viminfo

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 实现https访问
如果在网上购买ssl证书,并通过审核,那么地址栏就会有一个锁的图标

希望大家玩的愉快