Tomcat开启https

52 篇文章 0 订阅

为了防止包监听,Https属于必须品,现在Web服务器基本上都有直接支持https的功能,这里记录一下在tomcat里面怎么开启https。

1. 生成Keystore (使用tomcat作为别名,RSA算法)

Windows:


%Tomcat_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA

Unix:


$Tomcat_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA
按照提示输入密码,公司等等一系列的信息,自动生成keystore存于用户根目录(${user.home}/.keystore),可以通过-keystore指定文件存储路径。

证书生成之后使用list命令查看证书内容

$Tomcat_HOME/bin>keytool -list


Note:系统中更常用的是使用openssl生成证书。

2. 在$Tomcat\conf\server.xml中修改tomcat connector,开始https connector,端口改成ssl的默认端口443,加入keystoreFile位置和keystore刚刚设置的密码。

<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<Connector
           protocol="HTTP/1.1"
           port="443" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           keystoreFile="${user.home}/.keystore" keystorePass="********"
           clientAuth="false" sslProtocol="TLS"/>

Note:因为大部分人都习惯输入http地址,为了友好,可以直接把http connector直接redirect到ssl的connector上面,只要简单的加入端口重定向(redirectPort="443")以及修改tomcat里面的web.xml文件,加入security限制就可以了。

<security-constraint>

         <web-resource-collection>

                   <web-resource-name>SSL</web-resource-name>

                   <url-pattern>/SSL/* </url-pattern>

                   <url-pattern>/test/login.jsp</url-pattern>

         </web-resource-collection>

         <user-data-constraint>

                   <transport-guarantee>CONFIDENTIAL</transport-guarantee>

         </user-data-constraint>

</security-constraint>


3. 重启tomcat

大功告成,重启tomcat之后的访问都必须走https,不用担心被轻易偷包了,当然这种https认证由于是自己生成的,没有经过认证,会被浏览器警告,要生成认证证书,那就是另外一个故事了。

Note:Tomcat也支持修改web.xml的security-constraint来保证所有的访问是通过https。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值