tomcat支持https的历程
tomcat真是业界良心啊,文档写的详细无比。
一、https是什么?
简单的说,就是http+SSL/TLS
协议还是http,但是在传输层过程中使用了加密(涉及握手、秘钥分发、加密、解密等过程)。
二、关于SSL支持
英文好的可以直接参考tomcat默认的在线文档。
首先请运行本地的tomcat。
http://localhost:8080/docs/config/http.html#SSL_Support
三、tomcat支持两种SSL Connector类型
1. BIO/NIO connectors
支持由JDK中的工具提供X509证书认证(JAVA语言)
2. APR/Native connectors
支持由OPENSSL提供的证书认证(C语言)
3. 两者的一个比较
四、关于SSL的配置
只需要选择一种配置即可。
1. jdk证书的配置
<Connector port=""
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="" SSLEnabled="true" scheme="https"
secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="keystore文件.keystore"
keystorePass=""/>
PS:jdk证书的生成需要单独写一篇博客记录。
2. openssl的配置
<Connector port=""
protocol="org.apache.coyote.http11.Http11AprProtocol"
maxThreads="" SSLEnabled="true" scheme="https"
secure="true"
clientAuth="false"
SSLCertificateFile="服务器证书.pem"
SSLCertificateKeyFile="服务器密钥证书.pem"
SSLCertificateChainFile="证书链配置.pem"
sslProtocol="TLS" />
PS:openssl证书的生成需要单独写一篇博客记录。
五、tomcat对jdk的支持
tomcat毕竟是for jee的,对jdk的支持相对简单,网上一搜一大把。
有时间可以单独写一篇博客记录。
六、tomcat对openssl的支持
1. 安装新版本的openssl
去openssl官网下载最新版本的源码包,编译、安装。
中间可能遇到一个小坑,参考文章:http://www.cnblogs.com/yoyotl/p/7424967.html
2. 安装apr库
去apr官网下载最新版本的源码包,编译、安装。
3. 安装native库
这个源码在tomcat的安装目录里。
cd tomcat的安装路径/bin/
tar -zxvf tomcat-native.tar.gz
cd tomcat-native-1.2.-src
cd native
./configue --with-ssl=/usr/local/ssl
(/usr/local/ssl是默认的openssl安装路径)
make && make install
七、tomcat启动报错?
1. 报错
Caused by: org.apache.catalina.LifecycleException: The configured protocol [org.apache.coyote.http11.Http11AprProtocol] requires the APR/native library which is not available
2. 临时解决
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
这是当前shell测试的方法
3. 永久解决
3.1 vi ~/.bash_profile
3.2 在文件后面添加以下两行:
LD_LIBRARY_PATH=/usr/local/apr/lib
export LD_LIBRARY_PATH
3.3 配置生效
source ~/.bash_profile
八、tomcat启动正常
1. 打开浏览器输入https://localhost:8443
如果能够成功地看到tomcat默认主页就意味着这个tomcat支持https了!
2. 想确认一下?
2.1 启动wireshark。
2.2 分别访问http://localhost:8080和https://localhost:8443。
2.3 抓包分析。
http 访问的情况下,能轻松的看到大量的诸如<html>...</html>的明文。 https 访问的情况下,能看到的是肉眼无法识别的密文了(一串看起来毫无规律的字符串)。
tomcat支持https的历程的更多相关文章
- tomcat 支持https
HTTP是平时浏览网页时候使用的一种协议.HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全.为了保证 这些隐私数据能加密传输,于是网景公司设计了SSL(Se ...
- Spring Mvc和Spring Boot配置Tomcat支持Https
SpringBoot配置支持https spring boot因为是使用内置的tomcat,所以只需要一些简单的配置即可. 1.首先打开命令行工具,比如cmd,输入以下命令 keytool -genk ...
- tomcat支持 https
首先 安装nginx ,在nginx.conf 中引入 include /app/conf/nginx/vhosts/*.conf; 配置 并在conf/vhosts 目录 中配置virtual.c ...
- 【Services】【Web】【tomcat】配置tomcat支持https传输
1. 基础: 1.1. 描述:内网的tomcat接到外网nginx转发过来的请求之后需要和外网的客户端进行通讯,为了保证通讯内容的安装,使用tomcat使用https协议. 1.2. 链接:http: ...
- CentOs下,配置tomcat支持https
网上此类教程一大堆,本文主要记录步骤和几个注意点. 首先,我们使用jdk的keytool生成证书.命令如下: p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: ...
- tomcat支持https的server.xml配置
访问地址:https://127.0.0.1/testWeb/mySevlet?url=123&action=aaa server.xml: <?xml version='1.0' en ...
- 配置Tomcat使用https协议(配置SSL协议)
配置Tomcat使用https协议(配置SSL协议) 2014-01-20 16:38 58915人阅读 评论(3) 收藏 举报 转载地址:http://ln-ydc.iteye.com/blog/1 ...
- Tomcat配置https之 JDK SSL证书生成与验证
关于证书 SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL),安全协议是由Netscape Communication公司设计开发. ...
- 【转】配置Tomcat使用https协议(配置SSL协议)
转载地址:http://ln-ydc.iteye.com/blog/1330674 内容概览: 如果希望 Tomcat 支持 Https,主要的工作是配置 SSL 协议 1.生成安全证书 2.配置to ...
随机推荐
- .Net应用程序打包部署总结
编译源代码并完成测试以后,开发过程其实并没有结束.在这个极端,需要把应用程序提供给用户.无论是ASP.NET应用程序,客户端应用程序还是 Compact Framework构建的应用程序,开发出来的软 ...
- Cognos中新建SQLserver数据源的步骤
1:配置-数据源连接-新建数据源-指定数据源名称 2:选择数据库类型,暂时不配置jdbc 3:指定服务器,数据库名称,登陆用户名和密码 4:测试 5:测试OK(OLE DB类型的) 6:返回上一步 , ...
- Qt5 for Android: incompatible ABI
I recently installed Qt5 and works like a charm for API 17 and armeabi-v7a.But I added second AVD ...
- 微信小程序app配置指南
//app.json页面 { //页面注册,有几个页面都要在pages里面注册 "pages":[ "pages/index/index", "pag ...
- [Javascript]Clouse Cove, 2 ,Modifying Bound Values After Closure
function buildCoveTicketMarker(transport){ var passengerNumber = 0; return function(name){ passenger ...
- 一、NoSQL入门概述
- 优秀web资源
http://www.filewatcher.com 一步一步asp.net_页面静态化管理 http://www.cnblogs.com/ylwn817/articles/2006923.html ...
- Facebook 开源动画库 pop
官网:https://github.com/facebook/pop Demo: https://github.com/callmeed/pop-playground 一:pop的基本构成: POPP ...
- Linux用户、组帐号和权限(学习笔记九)
一.用户分类 超级用户:root 普通用户:由超级用户和管理员创建,一般只在自己的目录中有完全的权限 程序用户: 二.用户账号管理 常用命令: useradd:添加用户 userdel:删除用户 pa ...
- 霍纳法则(Horner Rule)介绍及C语言实现
参考自:http://flynoi.blog.hexun.com/31272178_d.html 霍纳法则简介 假设有n+2个实数a0,a1,-,an,和x的序列,要对多项式Pn(x)= anxn+a ...