设为首页 收藏本站
查看: 328|回复: 0

[经验分享] Tomcat

[复制链接]

尚未签到

发表于 2017-1-19 07:09:37 | 显示全部楼层 |阅读模式
  简介
  Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,目前最新版本是6.0.20(截止到2009-10-22)。
  Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
  另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。
  当Tomcat作为独立的Web Servcer运行的时候,可以独立处理SSL请求,这个时候,我们就需要在Tomcat上安装SSL证书,如果Tomcat和Apache联合工作,事实上是作为Apache的一个独立进程来负责JSP页面和Servlet,这个时候,我们就需要将SSL证书安装在Apache上,这点需要先确认好。
  Tomcat还有一个特殊的模块:APR(Apache Portable Runtime)是为了提高Tomcat处理静态内容性能,提供的组件,其实就是以Apache2.0为核心的一个http服务。在HTTPS方面,APR和Apache一样采用Openssl,在证书安装部分,会简要说明一下。
  Tomcat支持Jave Keystore文件格式作为SSL证书存储用途。Java Keystore文件的常见扩展名有.jks和.key。要制作JKS文件,有2种主要方式:


  • 用JRE自带的Keytool工具。先产生一个新的jks文件,并到处一个csr文件,然后将csr发给CA签名,并将签名后的文件导入jks文件。
  • 用openssl工具,制作key和csr文件,将csr发给CA签名得到cer文件,然后将key和cer合并成一个jks文件。

 
  
制作CSR申请文件
  1、制作Tomcat用CSR请求文件,最简单的办法就直接使用我们的 OpenSSL CSR在线生成器: https://www.myssl.cn/openssl/createcsr.asp
(注意:您必须同时保存server.key和server.csr文件)
  2、常见的JKS文件制作,要采用Keytool工具,这个工具是JRE自带的。通过命令行的方式输入CSR信息,而且可以支持中文资料。
首先,生成一个新的jks文件,命令如下: keytool -genkey -alias tomcat -keyalg RSA -keystore c:\server.jks

输入密钥库密码:changeit
您的姓名是什么?
[未知]:  www.myssl.cn
您的组织单位名称是什么?
[未知]:  Shanghai Fastcom Technology Co.,Ltd
您的组织名称是什么?
[未知]:  It Dept.
您的市/县/区或地点名称是什么?
[未知]:  Shanghai
您的省/直辖市名称是什么?
[未知]:  Shanghai
此单位的两字母国家或地区代码是什么?
[未知]:  CN
CN=www.myssl.cn, OU="Shanghai Fastcom Technology Co.,Ltd",
O=It Dept., L=Shanghai, ST=Shanghai, C=CN 正确吗?
(输入“yes”或“no”)
[否]:  Y
为 <tomcat> 输入密钥密码
(如果与密钥库密码相同则返回):
  说明: 输入keystore密码: 请输入保护证书密钥的密码。

您的名字与姓氏是什么?请输入域名,例如:www.myssl.cn

您的组织单位名称是什么?请输入单位名称,如: Shanghai Fastcom Technology Co Ltd

您的组织名称是什么?请输入部门名称,如: IT Dept

您所在的城市或区域名称是什么?输入城市名称,如:Shanghai

您所在的州或省份名称是什么?输入省份名称,如:Shanghai

该单位的两字母国家代码是什么?中国请输入CN

CN=www.myssl.cn, OU=Shanghai Fastcom Technology Co Ltd, O=IT Dept, L=Shanghai, ST=Shanghai, C=CN 正确吗?输入 Y

输入的主密码(如果和 keystore 密码相同,按回车):按回车
  根据这个jks文件产生一个csr文件,输入命令:
keytool -certreq -alias tomcat -keystore server.jks -file server.csr

 
  
安装证书文件
  1、将证书内容存为一个文件:
  您会收到一封来自迅通诚信的邮件,证书内容附在邮件中。如果证书是以附件的形式(Cert.cer)夹带在邮件中,您就可以直接应用它。如果您的证书中以文本的方式存在邮件中,您就需要将邮件中的证书部分的内容用Vi或Notepad存成一个纯文本文件。不要将其存成Microsoft Word 或其它字处理软件格式,并确定证书内容中不含有空行和空格,文件名可以为server.cehttp://hi.baidu.com/wzbg/blog/item/f10f5af09d122ccf7931aa16.htmlr。如下所示:
  将保存好的server.cer文件和制作CSR时候生成的server.key一起复制到服务器上。
  如果是使用在线工具制作的CSR文件,请打开在线JKS合成工具,将制作CSR时候的server.key文件和刚刚收到的server.cer输入2个文本框,然后合成一个server.jks文件。
  3、如果是用keytool做的CSR文件,则需要按下面方式,将证书导入原来的jks文件。
  3.1 根据您选择的证书产品下载相应的根证书,保存为root.cer

全球信SSL专业版根证书(QuickSSL Premium)
全球信SSL企业版根证书(True BusinessID)
全球信SSL增强版根证书(Power ServerID)
闪快SSL普及版根证书(RapidSSL)
免费SSL试用版根证书(FreeSSL)
  3.2 运行以下命令,将根证书(root.cer)导入jks文件,作为可信CA证书:
keytool -import -trustcacerts -keystore server.jks -alias root -file root.cer
  3.3 然后运行命令,将CA签好的证书文件srever.cer导入jks文件:
keytool -import -keystore server.jks -alias tomcat -file server.cer
  4、如果没有APR的Tomcat,按下面例子更新Server.xml文件配置

<-- Define a SSL Coyote HTTP/1.1 Connector on port 443 -->
<!--Tomcat 5.5
<Connector
port="8443" minProcessors="5" maxProcessors="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="server.jks" keystorePass="changeit"/>
-->
  注意:不同tomcat版本,修改server.xml的方式不同,请参考tomcat说明:
tomcat 6.0 http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html
tomcat 5.5 http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html
tomcat 5.0 http://tomcat.apache.org/tomcat-5.0-doc/ssl-howto.html
tomcat 4.1 http://tomcat.apache.org/tomcat-4.1-doc/ssl-howto.html
  5、配置了APR的Tomcat,需要使用server.key和server.cer文件,并按mod_ssl的语法来更新Server.xml文件配置

<-- Define a APR SSL Coyote HTTP/1.1 Connector on port 443 --&rt;
<!--
<Connector protocol="org.apache.coyote.http11.Http11AprProtocol"
port="443" minSpareThreads="5" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100"  maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
SSLCertificateFile="server.cer"
SSLCertificateKeyFile="server.key"
SSLVerifyClient="none"  sslProtocol="TLS"/>
-->

 
  
客户证书认证
  1、没有APR模块的Tomcat,如果需要采用客户证书认证(双向SSL认证),需要在server.xml中增加以下配置:

clientAuth="true"
truststoreFile="ca.jks"
truststorePass="changeit"
  说明:
clientAuth="true",表示必须有客户证书才可以访问。
clientAuth="false",表示不验证是否有客户证书。
clientAuth="want",表示会检查客户证书,但如果没有也可以继续访问。
  2、使用APR模块的Tomcat,需要用mod_ssl的语法来配置客户证书认证,增加以下配置:

SSLVerifyClient="require"
SSLCACertificateFile="ca.cer"
  详细参数,可以参考Apache SSL文档说明。
  证书的备份(导出)
  Tomcat的证书备份,只需要将server.jks文件(或可查看server.xml中keystoreFile对应的那个jks文件)复制到备份媒质上即可了。

 
  
证书的恢复(导入)
  要恢复Tomcat的证书同样非常简单,将备份的jks文件,复制到新的服务器上,然后参考上面服务器证书安装说明,修改server.xml文件即可。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-330346-1-1.html 上篇帖子: Tomcat接收请求 下篇帖子: Tomcat编译和调试
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表