-->这段配置可以让tomcat支持SSL连" />

开启tomcat的SSL(https)支持

系统 1632 0

实验环境: apache-tomcat-7.0.29, JDK7 , win7

 

打开conf/server.xml会发现有下面一段配置被注释着:

    <!--

    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

               maxThreads="150" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS" />

    -->

这段配置可以让tomcat支持SSL连接。默认是注释的。取消他的注释,并按需修改。

secure必须设置为true,scheme必须设计为https

如果你更改了SSL端口8443为其他端口,你必须修改其他非SSL的redirectPort,因为非SSL连接会重定向那些需要SSL安全约束的用户请求到你所修改的那个端口。

 

去掉注释,并启动tomcat,输入  https://localhost:8443  就可以看到SSL加密效果。 8443是配置的ssl请求连接端口

 

 

配置Keystores

要使用ssl connector,必须先创建一个keystore。他包含了服务器中被客户端用于验证服务器的数字证书。一旦客户端接受了这个证书,客户端就可以使用public key去加密他们要发送的数据。而服务器,拥有一个private key,作为唯一解密数据的密钥。

 

要创建keystore,可以使用JAVA_HOME/bin下的keytool

keytool -genkey -alias tomcat -keyalg RSA

-genkey:创建一个public-private key pair

 -alias tomcat:用户别名为tomcat

-keyalg RSA: 使用RSA算法。  MD5算法也是被支持的,但是建议使用RSA获得更好的兼容。

上面那句话,创建了一个自签证书(self-signed certificate)

 

运行上面这段命令后,如果是第一次使用,会让你输入密钥库口令,这个是仓库口令,然后输入个人资料,最后为tomcat用户设置口令,如果想设置为和仓库口令一致,直接回车即可。

最后,会在C:\Users\Administrator(当前登录用户名)下生成一个.keystore的文件,保存tomcat等key信息。

 

如果想使用keystore,那么将connector修改如下:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

               maxThreads="150" scheme="https" secure="true"

               clientAuth="false" sslProtocol="TLS"   keystorePass="你刚才为tomcat用户添加的口令"/>

 

开启tomcat的SSL(https)支持


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论