tomcat开启SSL8443端口的方法
参考文献:
http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html
http://blog.sina.com.cn/s/blog_682b5aa1010113uu.html(中文,比较实用)
https://help.ubuntu.com/community/TomcatSSL
http://blog.csdn.net/fjssharpsword/article/details/6851969(服务器和客户端证书)
背景
本文以ubuntu环境为例进行说明,具体环境如下
OS:ubuntu-server_12.04
TOMCAT_HOME:/usr/local/tomcat7,安装方法参考:windows和linux 下将tomcat注册为服务
JAVA_HOME:/usr/lib/jvm/jdk1.7.0_45,安装方法参考:ubuntu下安装JDK并配置java环境
总体思路
服务器端
1.用JDK自带的Keytool生成keystore文件
1)打开终端控制台,转向tomcat主目录,执行生成keystore文件命令,这条命令的作用是在tomcat主目录下生成server.keystore文件,这里设定的server.keystore的密码是Envisi0n,这个密码在后面会用到。
keytool -genkey -alias tomcat -keyalg RSA -keypass Envisi0n -storepass Envisi0n -keystore server.keystore -validity

2)根据keystore文件生成证书,这条命令的作用是在tomcat主目录下生成server.cer证书文件。
keytool -export -trustcacerts -alias tomcat -file server.cer -keystore server.keystore -storepass Envisi0n
客户端如果要访问tomcat的ssl8843端口,需要导入这个证书。当然生成证书的方法还有更加简单的,就是在客户端使用浏览器下载证书,可以是firfox,也可以是chrome,chrome证书导出方式如下:


3)%TOMCAT_HOME%\conf\server.xml,找到一下这段内容,将这段的注释取消掉
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" />
并添加keystoreFile和keystorePass,如下图所示:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/usr/local/tomcat7/server.keystore"
keystorePass="Envisi0n" />
客户端导入证书
拿到上面第二步获得的证书以后,将此证书导入到JDK的cacerts库当中,执行如下命令
keytool -importcert -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -file d:/keystore/cas.cer -alias caskey
JDK的cacerts这个keystore的默认密码是changeit。
然后配置tomcat的connector,配置如下
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="%JAVA_HOME%/jre/lib/security/cacerts"
keystorePass="changeit" />
应用场景
可以将上述的服务器端看作是CAS服务器,而客户端怎是web应用。web应用要通过CAS服务器实现单点登录。
tomcat开启SSL8443端口的方法的更多相关文章
- Linux配置防火墙 开启80端口的方法
命令行输入: vi /etc/sysconfig/iptables 将 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT ...
- linux下开启某个端口的方法:可用于SQL
- 使用AdvancedInstaller打包web工程设置tomcat端口的方法
原文:使用AdvancedInstaller打包web工程设置tomcat端口的方法 1.首先,要把你要打包的tomcat下的server.xml文件删掉,因为tomcat自带的serv ...
- tomcat 对 vue的history默认支持 tomcat 开启步骤 1.build文件放入webapps目录 2.进入conf目录修改server.xml端口号改成8088 3.进入bin目录运行startup.bat 4.浏览器 localhost:8088/workName 访问即可
tomcat 对 vue的history默认支持 tomcat 开启步骤 1.build文件放入webapps目录 2.进入conf目录修改server.xml端口号改成8088 3.进入bin目录运 ...
- apache与tomcat负载集群集成方法配置
apache与tomcat负载集群集成方法有3种jk.jk_proxy.http_proxy apache:httpd-2.2.17-win32-x86-no_ssl.msi tomcat:apach ...
- Tomcat开启JMX监控
搭建模拟环境: 操作系统:centos7内存:1Gjdk:1.8.0_131tomcat:8.0.48 环境准备我们这里就不直接演示了,直接配置tomcat的jmx 1.进入到tomcat的bin目录 ...
- eclipse配置Tomcat和Tomcat出现无效端口解决办法
一.eclipse配置Tomcat 1. 按图选择window-preferences 2在server处选择runtime environment . 3.点击右侧add,选择自己的Tomcat版本 ...
- 怎么解决tomcat占用8080端口问题
怎么解决tomcat占用8080端口问题 相信很多朋友都遇到过这样的问题吧,tomcat死机了,重启eclipse之后,发现 Several ports (8080, 8009) requir ...
- 解决宿主机不能访问虚拟机CentOS中的站点 | 更新CentOS防火墙设置开启80端口访问
前阵子在虚拟机上装好了centos6.0,并配好了nginx+php+mysql,但是本机就是无法访问.一直就没去折腾了. 具体情况如下 1.本机能ping通虚拟机 2.虚拟机也能ping通本机 3. ...
随机推荐
- assign()函数
tf中assign()函数可用于对变量进行更新包括变量的value和shape. 涉及以下函数: tf.assign(ref, value, validate_shape = None, use_lo ...
- Div中嵌套一个div,怎么是里面的div居中?
盒子居中是在写样式中经常遇到的问题,在这里说个我经常使用的方法~ 利用绝对定位:
- 【项目部署】部署项目以war包部署和解开以目录部署的区别
我们都知道最简单的部署web项目的方式是打成war包直接仍在tomcat的webapps目录下,我上个项目也确实是这样做的,可是这给我们后期的维护带来了极大的不便,下面就简单研究一下以war包部署和解 ...
- 搭建RabbitMQ集群(Docker)
前一篇搭建RabbitMQ集群(通用)只是把笔记直接移动过来了,因为我的机器硬盘已经满了,实在是开不了那么虚拟机. 还好,我的Linux中安装了Docker,这篇文章就简单介绍一下Docker中搭建R ...
- 【技术知识】恶意PDF文件分析-PDFdump的问题
1.提醒 百度分析恶意PDF文件,很多都是推荐PDFdump.在某次沙箱产品分析出疑似高级威胁的PDF样本后,我使用PDFdump查看ShellCode的加密数据,分析后并没有找到相关的ShellCo ...
- Windows入侵问题排查
1.深入分析,查找入侵原因 1.1 检查帐户和弱口令 1.查看服务器已有系统或应用帐户是否存在弱口令 检查说明:主要检查系统管理员帐户.网站后台帐户.数据库帐户以及其他应用程序(FTP.Tomcao. ...
- mysql 获取当月日期天数
本月总共天数:SELECT TIMESTAMPDIFF(day,CURDATE(),(DATE_add(CURDATE(),INTERVAL 1 month)))
- ApiCloud开发经验总结
1. 引擎或模块问题:遇到应用层无法解决的问题,如果能确定需要引擎和模块支持的,不要自己想办法绕过去,要第一时间在开发者社区提交问题,或找APICloud项目经理提出. !!!注意!!!: 在开发者社 ...
- pip --version问题
安装pip之后,在cmd下输入 pip --version始终提示: Unknown option:versionDid not provide a command自己安装步骤没错,怎么想也不明白,无 ...
- like语句防止SQL注入
mysql: select * from test where school_name like concat('%',${name},'%') oracle: select * from tes ...