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 3600

  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服务器实现单点登录。

 

本文转自xwdreamer博客园博客,原文链接:http://www.cnblogs.com/xwdreamer/p/3466661.html,如需转载请自行联系原作者


目录
相关文章
|
7月前
|
关系型数据库 MySQL 应用服务中间件
【JavaWeb学习】—如何修改Tomcat的端口号(十)
【JavaWeb学习】—如何修改Tomcat的端口号(十)
|
10月前
|
网络协议 Linux 网络安全
Linux测试端口的连通性的四种方法
Linux测试端口的连通性的四种方法
351 0
|
1月前
|
域名解析 存储 缓存
HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口
【6月更文挑战第23天】 HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口;TCP连接(HTTP/1.1可能需排队);三次握手;发送请求头与体;服务器处理并返回响应;TCP连接可能关闭或保持;浏览器接收并显示响应,更新缓存。HTTP版本间有差异。
38 5
|
1月前
|
设计模式 Java 关系型数据库
Spring的配置文件,如何配置端口号,,properties,yml获取配置项等方法,外观模式及其优缺点,日志代表的信息
Spring的配置文件,如何配置端口号,,properties,yml获取配置项等方法,外观模式及其优缺点,日志代表的信息
|
1月前
IDEA同一项目启动在不同端口方法
IDEA同一项目启动在不同端口方法
57 0
|
1月前
|
前端开发 Java 应用服务中间件
linux本地检测如何tomcat是否启动成功tomcat端口检测
linux本地检测如何tomcat是否启动成功tomcat端口检测
19 0
|
8月前
|
网络协议 应用服务中间件 Linux
LInux之在同一Tomcat下使用不同的端口号访问不同的项目
LInux之在同一Tomcat下使用不同的端口号访问不同的项目
82 0
|
2月前
|
JSON 应用服务中间件 API
同一端口同一方法提供grpc和http流量支持
以上方法可以让你在同一端口上同时支持gRPC和HTTP流量。具体的选择取决于你的项目需求和技术架构。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
37 0
|
2月前
|
前端开发 应用服务中间件 nginx
nginx中配置不输入端口(指定地址)访问项目的方法
nginx中配置不输入端口(指定地址)访问项目的方法
|
2月前
|
存储 网络协议 Ubuntu
Linux环境下SVN服务器的搭建与公网访问:使用cpolar端口映射的实现方法
由于文档资料越来越多,将所有资料都存放在自己的电脑上容易混淆,并且也不利于分享。这种情况下,考虑将资料上传SVN统一管理,这样一来其他人也能很方便的查略各种资料。