系统要支持https协议访问(正式环境建议:证书要向合法的受信任的数字证书颁发机构申请):
1,证书生成工具
使用jdk随机提供的证书生成工具:keytool
命令行:(tomcat 和 d:/tomcat.keystore 为证书名和证书存放路径
keytool -genkey -alias tomcat -keyalg RSA -keystore d:\tomcat.keystore
2,执行后
证书生成工具会以问题的方式,让用户输入几个问题:
一、输入秘钥库口令:
此处输入的口令要自己记清楚;
二、再次输入新口令:
重复上一步输入的口令;
三、您的名字与姓氏是什么:
这里注意应该输入认证网站的域名或IP,不是姓名,可能翻译有误;
四、您的组织单位名称是什么:
五、您的组织名称是什么:
六、您所在的城市或区域是什么:
七、您所在的省/市/自治区是什么:
8、该单位的双字母国家/地区代码是什么:
CN
9、显示以上填写的内容,确认是否正确:
如果正确,输入Y继续;
10、输入<tomcat>的秘钥口令(如果和秘钥库的口令相同,按回车):
此处直接按回车;
至此,在指定位置生成了证书文件:tomcat.keystore
3,证书生成后
修改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来访问了。
以上参考:http://blog.csdn.net/u012007592/article/details/51839071
4,端口被占用
排查问题:
一、查看端口占用情况,运行 -> cmd打开命令窗口
根据下列命令进行查询
netstat -ano 列出所有端口情况。
netstat -aon|findstr "443" 查看443端口。
443端口对应的应用程序pid为
15964
2768
二、根据pid继续查看
tasklist|findstr "15964"
tasklist|findstr "2768"
三、之前在本机里搭建了SVN服务器,现在不用了,所以可以直接kill掉~~
taskkill /f /t /im VisualSVNServer.exe
重启tomcat,再次访问