配置Https开发环境
工具:JDK + Tomcat + IntelliJ IDEA
http和https的区别
这里引用两篇博客,可以更清晰的认识https,谢谢两位博主!
生成证书
- 命令行进入JDK下面的bin目录
- 命令行键入
keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\test\tomcat.keystore -validity 36500
* -alias 表示证书的别名,一个keystore文件中可以存放多个alias
* -keyalg RSA 表示密钥算法的名称为RSA算法
* -validity 36500 表示证书有效日期,36500是100年(就当永久啦)
键入命令之后会提示输入密钥库口令,及其它相关信息
打开test文件夹即可发现生成的证书 tomcat.keystore
注:这里如果配置的是不是localhost或者127.0.0.1的话,需要在hosts文件中添加解析,浏览器才能正常请求。
127.0.0.1 httpstest.com
Tomcat配置(这里使用的是tomcat8.5.24)
- 打开server.xml文件找到如下地方:
<!--
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
type="RSA" />
</SSLHostConfig>
</Connector>
-->
修改成如下:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true"
scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="D:\test\tomcat.keystore"
keystorePass="123456"
>
<!-- <SSLHostConfig>
<Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
type="RSA" />
</SSLHostConfig> -->
</Connector>
注:配置文件中的 keystorePass=”123456” 就是第二步中的密钥库口令,我这里是123456。
浏览器请求
浏览器输入 https://httpstest.com:8443/,可以会提示非安全链接,点击继续前往即可。如果配置的是localhost或者127.0.0.1的话就不用
Intellij IDEA 中Tomcat配置
由于本人是Javaer,所以这是的配置环境是基于JavaWeb项目来配的,IDEA的Tomcat配置不多说。