tomcat 增加https安全协议访问

在客户项目中,本来系统是允许在内网,由网管负责网络安全,但是后期增加了在线客服模块,被放置于客户的外网网站上,这样同时暴露了我方的系统,导致客户的网站安全受到威胁,所以客户要求我方系统要支持https协议访问,以下是配置为https协议的过程。

首先,需要产生一个证书,当然,在正式的生产环境,证书是由客户向合法的受信任的数字证书颁发机构申请,在实际项目中,不需要我们自己生成证书,是由客户提供的,但是在此处为了说明搭建HTTPS协议服务的过程,我们自己生成数字证书来演示此过程。

首先,使用jdk随机提供的证书生成工具:keytool, 此工具位于jdk的bin目录中,命令如下:

>keytool.exe  -genkey -alias tomcat  -keyalg  RSA  -keystore    d:\tomcat.keystore

其中的d:\tomcat.keystore是指定生成的证书存放的位置和文件名,执行后,证书生成工具会以问答的方式,让用户输入几个问题:

1、输入秘钥库口令:

此处输入的口令要自己记清楚;

2、再次输入新口令:

重复上一步输入的口令;

3、您的名字与姓氏是什么:

这里注意应该输入认证网站的域名或IP,不是姓名,可能翻译有误;

4、您的组织单位名称是什么:

随便填写;

5、您的组织名称是什么:

随便填写;

6、您所在的城市或区域是什么:

随便填写

7、您所在的省/市/自治区是什么:

随便填写

8、该单位的双字母国家/地区代码是什么:

cn

9、显示以上填写的内容,确认是否正确:

如果正确,输入Y继续;

10、输入<tomcat>的秘钥口令(如果和秘钥库的口令相同,按回车):

此处直接按回车;

至此,在指定位置生成了证书文件:tomcat.keystore


证书生成后,需要修改tomcat的配置,这里使用的tomcat版本是7,进入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="443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" keystoreFile="d:\tomcat.keystore" keystorePass="111111"/>


首先,把端口改为443,这样在使用https协议访问的时候,就可以不用加端口号,443是安全套接层的缺省端口,就像80相当于8080一样;

keystoreFile 指定刚才生成的证书文件,对于正式的生产环境来说,应该是客户提供的正式申请的数字证书;

keystorePass是在生成证书时,输入的秘钥库口令;

修改完成后,保存server.xml文件,关闭,启动tomcat,如果启动没有问题,就可以以htts://ip/context来访问了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大柳树伯爵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值