您的位置:首页 > 理论基础 > 计算机网络

tomcat 增加https安全协议访问

2016-07-06 15:08 281 查看
在客户项目中,本来系统是允许在内网,由网管负责网络安全,但是后期增加了在线客服模块,被放置于客户的外网网站上,这样同时暴露了我方的系统,导致客户的网站安全受到威胁,所以客户要求我方系统要支持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来访问了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: