- 浏览: 1173995 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (411)
- ASP (6)
- ASP.NET (2)
- CSS (4)
- HTML (11)
- Javascript (34)
- Java (100)
- PHP (1)
- XML (2)
- Flash/Flex/AS (1)
- 编程理论 (6)
- 操作系统 (23)
- 架构与搭建 (13)
- 软件应用 (39)
- 移动开发及应用 (4)
- UI设计 (2)
- 数据库 (23)
- 围棋 (1)
- 闲语茶楼 (6)
- 金融 (1)
- 其他 (3)
- Linux/Unix (38)
- 项目管理 (3)
- cmd (2)
- ssh (3)
- SVN (1)
- 移动开发 (1)
- HTML5 (1)
- jquery (1)
- redis (1)
- nginx (2)
- webservice (1)
- vmware (1)
- ssl (1)
- eclipse (1)
- sqlite (1)
- spring (2)
最新评论
-
cnhome:
Java 8 下:// 编码String asB64 = Ba ...
不要使用sun.misc.BASE64Encoder -
请叫我翠西狗:
那如果我要用this.getServletContext() ...
JSP/Servlet使用代理或路由器映射时获取服务器地址为内网地址 -
nomblouder:
按照别的博客,别名一直是p4merge,导致一直报错comma ...
win与linux下git配置p4merge为合并比较工具的方法 -
linuxzhang:
请问我按你的方法修改了sts-3.7.3.RELEASE中的o ...
Eclipse中setter/getter方法自动添加属性注释 -
yzh__:
求解答。。。
Struts2定义默认拦截器时需要注意
原文转自:http://lixor.iteye.com/blog/1532655
Tomcat配置HTTPS的文章到处都有,过程也比较简单,随后文中会转一段过来。
但对于启用APR情况下报异常“java.lang.Exception: Connector attribute SSLCertificateFile must be defined when using SSL with APR”的解决方法上处理的都比较偷懒,通常都是把APR注释掉不启用APR。
做为一个文艺青年兼软件开发工程师(偶吐),我有责任深入学习仔细研究完美解决这个问题(偶再吐)。
资料转载【TOMCAT配置HTTPS】
################################################################
二、创建证书
啰嗦几句:证书是单点登录认证系统中很重要的一把钥匙,客户端于服务器的交互安全靠的就是证书;本教程由于是演示所以就自己用JDK自带的keytool工具生成证书;如果以后真正在产品环境中使用肯定要去证书提供商去购买,证书认证一般都是由VeriSign认证,中文官方网站:http://www.verisign.com/cn/
用JDK自带的keytool工具生成证书:
keytool -genkey -alias wsria -keyalg RSA -keystore d:/keys/wsriakey
无图不给力,有图有真相:
具体的输入项图片中都有说明,有一点我要解释一下;在输入完密码后提示输入域名是我输入的是sso.wsria.com,其实这个域名是不存在的,但是我为了演示所以虚拟了这个域名,技巧在于修改
C:\Windows\System32\drivers\etc\hosts
添加内容如下:
127.0.0.1 sso.wsria.com
这样在访问sso.wsria.com的时候其实是访问的127.0.0.1也就是本机
严重提醒:提示输入域名的时候不能输入IP地址
三、导出证书
D:\keys>keytool -export -file d:/keys/wsria.crt -alias wsria -keystore d:/keys/wsriakey
特别提示:如果提示:
keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect
那么请输入密码:changeit
来点颜色:
至此导出证书完成,可以分发给应用的JDK使用了,接下来讲解客户端的JVM怎么导入证书。
四、为客户端的JVM导入证书
keytool -import -keystore D:\tools\jdk\1.6\jdk1.6.0_20\jre\lib\security\cacerts -file D:/keys/wsria.crt -alias wsria
来点颜色瞧瞧:
特别说明
D:\tools\jdk\1.6\jdk1.6.0_20\jre\lib\security -- 是jre的目录;密码还是刚刚输入的密码。至此证书的创建、导出、导入到客户端JVM都已完成,下面开始使用证书到Web服务器中,本教程使用tomcat。
五、应用证书到Web服务器-Tomcat
说是应用起始做的事情就是启用Web服务器(Tomcat)的SSL,也就是HTTPS加密协议,为什么加密我就不用啰嗦了吧…… 准备好一个干净的tomcat,本教程使用的apache-tomcat-6.0.29 打开tomcat目录的conf/server.xml文件,开启83和87行的注释代码,并设置keystoreFile、keystorePass修改结果如下:
1
2
|
< connector port = "8443" protocol = "HTTP/1.1" sslenabled = "true" maxthreads = "150"
scheme = "https" secure = "true" clientauth = "false" sslprotocol = "TLS" keystorefile = "D:/keys/wsriakey" keystorepass = "wsria.com" >
</ connector >
|
参数说明:
- keystoreFile:在第一步创建的key存放位置
- keystorePass:创建证书时的密码
好了,到此Tomcat的SSL启用完成,现在你可以启动tomcat试一下了,例如本教程输入地址:https://sso.wsria.com:8443/ 打开的是:
好的,那么我们点击“继续浏览此网站(不推荐)。现在进入Tomcat目录了吧,如果是那么你又向成功迈进了一步。
################################################################
来自http://www.kafeitu.me/2010/11/05/sso-cas-full-course.html。
文章写的很好,也很细致。
嗯。好了,问题来了。
当我启动Tomcat时发现控制台报错如下:
- 2012-5-16 13:10:37 org.apache.catalina.core.AprLifecycleListener init
- 信息: Loaded APR based Apache Tomcat Native library 1.1.23.
- 2012-5-16 13:10:37 org.apache.catalina.core.AprLifecycleListener init
- 信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
- 2012-5-16 13:10:37 org.apache.coyote.AbstractProtocol init
- 信息: Initializing ProtocolHandler ["http-apr-8080"]
- 2012-5-16 13:10:37 org.apache.coyote.AbstractProtocol init
- 信息: Initializing ProtocolHandler ["http-apr-8443"]
- 2012-5-16 13:10:37 org.apache.coyote.AbstractProtocol init
- 严重: Failed to initialize end point associated with ProtocolHandler ["http-apr-8443"]
- java.lang.Exception: <span style="background-color: #ffff00;">Connector attribute SSLCertificateFile must be defined when using SSL with APR</span>
- at org.apache.tomcat.util.net.AprEndpoint.bind(AprEndpoint.java:484)
- at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:566)
- at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:417)
- at org.apache.catalina.connector.Connector.initInternal(Connector.java:956)
- at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
- at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
直接Google,很多答案都是不启用APR,修改conf/server.xml注释掉下面一段
- <!--APR library loader. Documentation at /docs/apr.html -->
- <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
例如:http://tdp100.iteye.com/code?tag=tomcat+https
但这样做将失去APR库的价值,Tomcat性能必然下降(APR库作用见此处http://wenson.iteye.com/blog/382738)
让我们打开Tomcat的文档webapps/docs/apr.html,其中讲到
<Connector port="443" maxHttpHeaderSize="8192" maxThreads="150" enableLookups="false" disableUploadTimeout="true" acceptCount="100" scheme="https" secure="true" SSLEnabled="true" SSLCertificateFile="${catalina.base}/conf/localhost.crt" SSLCertificateKeyFile="${catalina.base}/conf/localhost.key" />
SSLCertificateFile属性好理解,是指证书文件,就是用keytool导出的那个。
而SSLCertificateKeyFile应该是指私钥,这个东西从哪里来呢,继续找资料。
在这里:http://stackoverflow.com/questions/150167/how-do-i-list-export-private-keys-from-a-keystore
关键是这一段:
keytool -importkeystore -srckeystore keystore.jks \
-destkeystore intermediate.p12 -deststoretype PKCS12
Next, use OpenSSL to do the extraction to PEM:
openssl pkcs12 -in intermediate.p12 -out extracted.pem -nodes
先把keystore转换为pkcs12格式,然后使用openssl工具导出私钥即可。
openssl 工具可以从这里下载:http://gnuwin32.sourceforge.net/packages/openssl.htm
ohYeah! 搞定了。
发表评论
-
Linux下查看文件和文件夹大小
2015-03-25 16:55 801原文转自:http://www.cnblogs.com/b ... -
centos查看端口占用及开启防火墙端口
2014-07-23 13:35 14851.查看端口占用情况 #netstat -tunlp ... -
Linux 使用pid文件结束nginx
2014-04-14 11:52 1347nginx的结束重启一般是 ... -
mysql5.5的源码安装[有用]
2013-09-17 14:57 988--验证md5校验和 [root@tm ... -
virtualbox命令行共享CentOS目录
2013-09-13 18:30 22371. 安装virtualbox增强工具 "右ct ... -
在VirtualBox中的CentOS 6.3下安装VirtualBox增强包
2013-09-13 14:57 4352在VirtualBox中的CentOS 6.3下安装Vir ... -
virtualbox安装centos 6.3后无法上网解决办法
2013-09-13 14:48 4971设置virtualbox的网络连接方式,如下图使用桥接方式 ... -
【转】CentOS6.3源码安装mysql5.5(多方法)
2013-09-12 15:15 41471.下载MySQL我下载的版本:mysql-5.5.22. ... -
CentOS将用户添加到sudoer列表
2013-09-12 14:31 1086默认情况下,linux没有将当前用户列入到sudoer列表中 ... -
ubuntu 添加sudo用户
2013-04-26 13:10 3324第一种方法: 添加sudo用户 当你安装Ubuntu的时候,它 ... -
jenkins配置权限不对导致无法登陆的重置方法
2013-04-20 20:43 25405找到.jenkins/config.xml文件: 替换为: ... -
ubuntu上mysql的安装以及基本用法
2012-07-26 10:54 19141.使用apt-get查找当前可用的mysql版本.ap ... -
nginx 官方中文文档
2012-07-03 15:55 1904nginx 官方文档有简体中文了,有taobao提供 ... -
Ubuntu 中软件的安装、卸载以及查看的方法总结
2012-05-23 09:51 1364说明:由于图形化界面方法(如Add/Re ... -
Linux下MySql开放访问权限
2012-04-13 17:10 3145在Linux下安装完数据库后,局域网内无法访问。 设置 ... -
详解Linux下SSH远程文件传输命令scp
2012-02-10 10:05 1390相信各位VPSer在使用VPS时会经常在不同VPS间互相备份数 ... -
BitNami的Redmine更新步骤
2012-02-06 16:15 11864官方原文: 1.How to upgrade the ful ... -
Linux下查找含有特定内容的文件
2012-02-06 13:55 1132下边是find命令的用法: $> find ... -
BitNami的Redmine备份及还原
2012-02-06 11:00 3386官方原文:How can I create ... -
修复Cygwin下ssh报Error while dumping state (probably corrupted stack)
2011-10-28 15:20 1991在Window下安装Git,结果在使用ssh协议时,报错: ...
相关推荐
越来越多的接口要去采用HTTPS,Tomcat配置HTTPS的简单指导,不升级到HTTPS,可能以后能多接口不能用了。
Tomcat 配置SSL完美 https可以正常使用 小程序调用Tomcat 配置SSL完美 https可以正常使用 小程序调用Tomcat 配置SSL完美 https可以正常使用 小程序调用
**IIS6.0+TOMCAT7.1+PHP6完美整合.doc**:这个文档可能是详细的整合步骤指南,涵盖了如何在IIS 6.0版本上配置Tomcat 7.1和PHP 6(虽然PHP 6从未正式发布,可能指的是PHP 5的一个特定版本或模拟版本),以实现高效且...
在Windows Server 2003操作系统中,配置一个完整的JSP服务器环境,即整合IIS 6、JDK 1.6和Tomcat 6.0.16,是一项技术性较强的任务。这个过程涉及到Web服务器与应用服务器的协同工作,以支持Java Web应用程序的运行。...
- **性能优化**:根据实际负载调整Nginx和Tomcat的相关配置,例如连接超时设置等。 #### 五、总结 通过上述步骤,可以实现Nginx与Tomcat的整合,从而达到高效处理静态和动态资源的目的。这种整合不仅提高了系统的...
Tomcat作为Servlet和JSP容器,将这两者完美结合,为开发者提供了轻量级的Web服务解决方案。 Apache Tomcat 8.5.72是该软件的一个特定版本,每个版本都有可能包含性能优化、安全修复和新的功能。例如,8.5.x系列可能...
标题中的“Tomcat SSL 单向/双向”指的是在Apache Tomcat服务器中配置SSL(Secure Sockets Layer)安全协议以实现网络通信的安全性。SSL能够为传输的数据提供加密,确保数据在互联网上的传输过程中不被窃取或篡改。...
在进行培训时被广泛采用,它与Servlet完美结合,支持JSP语言,为Web应用开发提供了强大的平台。” **标签:**Tomcat **文件名称列表:**apache-tomcat-5.5.17 **正文:** Tomcat 5.5标准版是Apache Software ...
值得注意的是,Tomcat与Apache HTTP Server的结合非常完美,这使得它成为了许多企业级Java Web应用程序的首选部署环境。 #### 二、Tomcat目录结构 Tomcat的目录结构如下所示: - **bin**:存放启动和关闭Tomcat的...
1.解决jdk低版本向高版本发送请求失败 2.解决Could not generate DH keypair错误 3.不需要修改JDK配置 4.不需要向JDK中添加jar文件 5.向高版本服务器端发送https请求 6.有代码实例,完美运行 7.压缩包中附带使用说明
基于springboot、mybatis、ehcache、thymeleaf、bootstrap做的博客系统,完美自适应,支持markdown编辑器 项目描述 项目基于spring boot和thymeleaf编写的一个Java博客系统,包含了首页注册登录,文章管理,日志...
开发者需要确保Apache服务器配置正确,能够解析并执行Java Servlets,这通常通过配置Tomcat或者Jetty等Servlet容器来实现。同时,开发者可能还利用了Apache的虚拟主机功能,以支持多个独立的Web应用在同一服务器上...
ssm框架:spring+springMVC+mybatis三合一的框架,可根据业务需求进行许多方面细节的调整更加灵活,但也有缺点,配置文件较多,sql语句书写繁杂。 2.开发环境 操作系统不限:java特性,一套代码,导出运行 jdk版本...
3. **配置Tomcat并运行后端服务**: - 使用Tomcat容器部署后端服务`hotel-manager`。确保在配置文件中正确设置了连接数据库的信息以及其他必要的参数。 - 登录账号信息:用户名`admin`,密码`123456`。 4. **配置...
- **Tomcat调优**:优化Tomcat服务器的配置,提高并发处理能力。 - **数据库索引**:合理设计数据库索引,加速查询速度。 综上所述,Java版微博是一个集成了后端服务、数据库管理、客户端软件的综合项目,涉及到...
用户需配置服务器环境(如Tomcat或Jetty),并将上传系统部署到应用服务器上,配置好相关的参数(如上传目录、数据库连接等)。 7. 后端逻辑: JSP页面背后的Java代码处理上传逻辑,如文件存储路径的计算、文件的...
这本“j2ee完美笔记大全之经典面试大全”显然是针对有8年开发经验的专业人士所整理的面试指南,涵盖了J2EE技术体系中的核心知识点,以及面试中常见的问题和解答。** **J2EE的核心组件包括:** 1. **Servlet**:它是...
本项目部署文档主要涉及了几个关键知识点,包括版本控制系统SVN的使用,类路径配置,项目目录结构,Tomcat服务器的配置,以及JDK和字符编码的设置。 首先,我们关注的是版本控制系统SVN(Subversion)。SVN是一种...
#Guns V2.1 新版Guns基于SpringBoot全面升级,完美整合springmvc + shiro + mybatis-plus + beetl! 在不用写xml配置(V1.0)的基础上进一步简化项目配置,让您更专注于业务开发!抛弃传统spring xml的配置方式,利用...
- **Web服务器优化**:如Tomcat的配置调整,提升并发处理能力。 5. **安全性** - **HTTPS**:加密通信,保护用户隐私。 - **Spring Security**:提供身份验证和授权机制,防止未授权访问。 - **CSRF和XSS防护**...