tomcat开发环境配置启用https
2017-11-26 02:53
447 查看
一、制作证书
众所周知,https协议需要证书,为了开发去CA买证书是浪费,使用jdk自带的keytool工具做一个开发测试用足够。https://docs.oracle.com/javase/8/docs/technotes/tools/windows/keytool.html#CHDBGFHE
上面是jdk8的keytool的官方文档连接。可用命令不算少,常用的也就几个。
1、新生成一个密钥库
keytool -genkeypair -alias bendiceshi -keyalg RSA -validity 36500 -storepass 123456 -keystore ./test.keystore -v
-alias bendiceshi:证书项的名字,必填项
-keyalg RSA:证书签名算法,tomcat建议RSA
-validity 36500:证书有效期,36500天,即100年
-storepass 123456:密钥库密码,也就是等下要生成的test.keystore的访问密码,妥善保管
-keystore ./test.keystore:要生成的文件的位置,./test.keystore表示存储在当前目录下
-v:该选项会显示比较详细的信息
如上图所示第一项必须写你测试用的网址,这里我写的是localhost。至于图中提示的密钥口令,没什么用,就是将来访问那条密钥时要输入的口令,直接回车就行。
2、向已存在密钥库添加新密钥
keytool -genkeypair -alias bendiceshi_ip -keyalg RSA -validity 36500 -keystore ./test.keystore -v
-alias bendiceshi_ip:新密钥的名字
-keystore ./test.keystore:刚才生成的密钥库文件的位置
其余项同1
这样我们就向已存在的密钥库添加了一个新密钥,在这两次操作里我分别写了localhost和127.0.0.1,等下会分别访问这两个网址。
3、查看密钥库中的项
keytool -list -keystore ./test.keystore keytool -list -keystore ./test.keystore -v
添加-v会显示详细信息,这里为了篇幅考虑不加-v。
4、导出证书
keytool -exportcert -alias bendiceshi -file ./bendiceshi.cer -storepass 123456 -keystore ./test.keystore -v keytool -exportcert -alias bendiceshi_ip -file ./bendiceshi_ip.cer -storepass 123456 -keystore ./test.keystore -v
-alias bendiceshi:要导出的证书的名字,即刚才创建的密钥的名字,即keytool -list时显示的名字
-file ./bendiceshi.cer:要导出的证书的存储位置,这里我放在当前目录下
-keystore ./test.keystore:刚才创建的密钥库的位置
上述所有步骤所生成的3个文件如下
5、copy密钥库文件
将刚才生成的密钥库文件copy到你tomcat的conf目录,跟server.xml同级。注意:这里一定要放在你实际运行的tomcat的conf目录下。
6、修改tomcat配置文件
<Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="443"/> <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/conf/test.keystore" keystorePass="123456"/>
要修改的配置文件是tomcat的server.xml文件。仔细看上面的配置,第一个Connector是默认就有的,这里只是把8080端口改成了公认的80端口,把8443端口改成了公认的443端口。第二个Connector默认是注释掉的,搜索8443就能找到,直接把上述第二个Connector粘贴到server.xml中第一个Connector的下面,方便管理。keystoreFile=”/conf/test.keystore”就是刚才copy的文件的位置,可以自己改到其他位置。keystorePass=”123456”就是刚才创建密钥库时使用的口令。
7、启动tomcat,做收尾工作
启动tomcat,然后访问你配置的网址,我这里是如上配置,localhost和127.0.0.1。会看到如下现象
这是因为刚才制作的证书不是买的,所以浏览器无法认证,此时只需要将刚才导出的两个证书,也就是bendiceshi.cer和bendiceshi_ip.cer导入windows系统就行,双击证书,如下
这个时候再次用那两个网址浏览网页,会发现
会发现一个成功,而一个失败了,这可能是因为在一个密钥库里放多个密钥tomcat无法识别导致的,因为平常工作开发中一个网址用来测试足够了,所以这不是个问题。
原创不易-转帖请注明出处–shizhongqi
相关文章推荐
- tomcat下配置https环境
- [Java EE] LInux环境下Eclipse + Tomcat + MySQL 配置J2EE开发环境的方法
- 配置Tomcat启用Https安全协议的访问
- Eclipse3.6+Tomcat7.0配置Servlet开发环境
- eclipse+tomcat+solr开发环境配置
- Ubuntu - Edgy Eft 下安装配置Java开发环境(JDK 6 + Eclipse WTP + Tomcat + MySQL)
- Eclipse+Myeclipse+Tomcat开发JSP的详细环境配置
- J2EE运行和开发环境的安装与配置(JDK+TOMCAT 6.5+MyEclipse)(1)
- Tomcat配置https环境(Windows+Linux)
- 【CAS单点登录视频教程】 第04集 -- tomcat下配置https环境
- Tomcat配置https环境(Windows+Linux)
- window环境下tomcat配置https
- Tomcat启用HTTPS协议配置过程
- windows下在Tomcat中配置php开发环境
- [原]阿里云服务器 操作实战 部署C语言开发环境(vim配置,gcc) 部署J2EE网站(jdk,tomcat)
- 配置开发环境Tomcat热部署
- Javaweb开发环境Myeclipse6.5 JDK1.6 Tomcat6.0 SVN1.8配置教程
- Tomcat+eclipse JSP windows开发环境配置
- Javaweb第一课:配置Tomcat服务器、搭建web开发环境、管理webapps项目
- Nginx + Tomcat + HTTPS 配置原来不需要在 Tomcat 上启用 SSL 支持