首先是申请证书,可以用java自带的keytool生成证书
语句如下:
keytool -genkey -alias tomcat -keyalg RSA -keystore /home/rainman/.keystore
没有设置全局变量的话,也可以进入java的目录,如
/usr/java/jdk1.6.0_04/bin/keytool -genkey -alias tomcat -keyalg RSA -keystore /home/rainman/.keystore
执行命令后会让输入证书信息
然后要配置tomcat,找到tomcat目录/conf/server.xml文件
找到一下这段代码
<!--
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
取消注释,并改为
<Connector port="8443" protocol="HTTP/1.1"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/home/rainman/.keystore" (keystore文件地址)
keystorePass="123456"/>(123456是我之前输入的keystore密码)
然后重新一下就可以通过https://ip:8443/url请求服务了
以上是本地和测试环境的https配置。如果希望能通过域名访问,需要向相关机构申请https证书,就不是这样随随便便的搞了
<1>首先在本地建立一个keystore文件,例
进入JAVA_HOME(jdk下的bin目录) keytool -v -genkey -alias tomcat -keyalg RSA -keystore c:/tomcat.keystore
在其后输入密码,以及提及的信息。这样就生成了一个keystore文件。
<2> 在服务器关闭的情况下在生成的servser工程下,找到server.xml文件,在其中寻找<Connector port="8443"……
将夹在上下的注释去掉。(寻找Connector port="8443“是否还有其他,有则将其注释掉)
<3>将keystore文件加载其中
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" keystoreFile="C:/tomcat.keystore" keystorePass="tomcat" sslProtocol="TLS" />
<4>重新启动服务即可。
<5>在浏览器中输入https://localhost:8443/yourproject/ 选择导入证书即可