Tomcat SSL配置 Connector attribute SSLCertificateFile must be defined when using SSL with APR解决 作者:孤风一
Tomcat 6版本配置SSL过程有两步:
1、用JDK自带的keytool.exe来生成私有密钥和自签发的证书,如下:
keytool -genkey -keyalg RSA -alias tomcat
按提示输入相关内容后,这条命令将在默认密钥库文件里新增一个别名为tomcat的私有密钥项及其自签发的证书。默认密钥库文件为:
%USERPROFILE%\.keystore
2、修改Tomcat的conf\server.xml文件,即增加下面一段:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"maxThreads="150" scheme="https" secure="true"clientAuth="false" sslProtocol="TLS"keystoreFile="${user.home}/.keystore"keystorePass="changeit" />
这里的${user.home}就是上面的%USERPROFILE%,只是一个是Java语法,另一个是Windows语法。
设置好就能正常启动Tomcat了。
可是按同样的方法来配置Tomcat 7却启动不起来,报如下错误:
严重: Failed to initialize end point associated with ProtocolHandler ["http-apr-8443"] java.lang.Exception: Connector attribute SSLCertificateFile must be defined when using SSL with APR
仔细看上面的异常信息发现这是APR报的错误。Tomcat 6也有APR包但我从来都没用过。为此查看了Tomcat的ssl-how,在“Edit the Tomcat Configuration File”一节中说到:
- Tomcat提供了两个SSL实现,一个是JSSE实现,另一个是APR实现。
- Tomcat将自动选择使用哪个实现,即如果安装了APR则自动选择APR,否则选择JSSE。
- 如果不希望让Tomcat自动选择,而是我们自己指定一个实现则可通过protocol定义,如下:
<Connector protocol="..." />
我又查看了6.0的相同说明,里面与7.0的说明一模一样。因此问题只可能是:是否安装了APR包。
以前只听说过APR但没弄过。APR是什么文件?后来才发现APR文件名为tcnative-1.dll。进一步检查6.0和7.0的安装目录,结果发现6.0里没这个dll文件,而7.0里有。换句话说,6.0默认使用JSSE实现,而7.0默认使用APR实现。
弄明白缘由就好办了。由于习惯使用6.0的配置方式(即JSEE实现),因此只要把上面conf\server.xml里的protocol修改一下就行了:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"maxThreads="150" scheme="https" secure="true"clientAuth="false" sslProtocol="TLS"keystoreFile="${user.home}/.keystore"keystorePass="changeit" />
重新启动,一切正常。
Tomcat SSL配置 Connector attribute SSLCertificateFile must be defined when using SSL with APR解决 作者:孤风一相关推荐
- RHEL5(CentOS)下nginx+php+mysql+tomcat+memchached配置全过程(转)
RHEL5(CentOS)下nginx+php+mysql+tomcat+memchached配置全过程 一.准备工作:SSH,telnet终端中文显示乱码解决办法vi /etc/sysconfig/ ...
- ssl证书绑定windows服务器端口及SSL配置命令详解
ssl证书绑定windows服务器端口及SSL配置命令详解 第一部分 多层应用服务器中SSL的服务器配置 一.首先,你的 服务器的防火墙 或云服务器的安全配置要哦放通下面你想配置的端口 我配置的端口为 ...
- tomcat配置重定向_在Tomcat上配置SSL以及从HTTP到HTTPS的设置自动重定向的步骤
tomcat配置重定向 Secured Socket Layer (SSL) is the cryptography protocol to provide message security over ...
- 解决Error running ‘Tomcat(备注这里你起的名字)‘: SSL HTTP Connector node not found: set up one in the server.xml
项目场景: Idea配置tamcat环境变量出现报错问题 问题描述: 运行"Tomcat"时出错:未找到SSL HTTP连接器节点:在server.xml中设置一个 : SSL H ...
- Nginx + Tomcat + HTTPS 配置不需要在 Tomcat 上启用 SSL 支持
2019独角兽企业重金招聘Python工程师标准>>> Nginx SSL+tomcat集群 Nginx tomcat no 不用https 最近做了个Web项目, 架构上使用了 N ...
- Apache Tomcat 8配置参考 HTTP连接器
目录 介绍 属性 共同属性 标准实施 Java TCP套接字属性 NIO特定配置 NIO2特定配置 APR /本机特定配置 嵌套组件 特殊功能 HTTP / 1.1和HTTP / 1.0支持 HTTP ...
- Tomcat参数配置
2019独角兽企业重金招聘Python工程师标准>>> 1. JAVA_OPTS内存优化 Tomcat内存优化主要是对启动参数的优化,可以在Tomcat的启动脚本catalina.s ...
- tomcat https 配置
以前基本上笔者对于安全性考虑的并不多,最近因为saas平台要开始逐渐推广,所以需要开始逐渐加强xss/crsf/https等措施以避免潜在的安全性风险.本文简单的记录下tomcat下https的配置. ...
- Tomcat - 常用配置
2019独角兽企业重金招聘Python工程师标准>>> Tomcat JNDI 配置 JNDI:Java Naming and Directory Interface Java命名和 ...
- [企业内部https证书配置]tomcat 7配置https的完整历程
很久之前开发的一套Java Web系统,该系统是企业内部使用的系统, 部署在Tomcat上,一开始使用http 访问, 后来因为安全需求, 转换为https 访问. 在几年前https 访问之后一切正 ...
最新文章
- 专访 | 商汤HPC负责人刘文志(风辰):未来战略的两大方向及招人的4个标准
- hdu 4033 二分几何
- 竟有如此沙雕的代码注释!
- Sublime 2 配置
- randomaccessfile在移动设备多线程多服务器下载时写入慢的问题
- K8S集群部署-环境准备
- NS2相关学习——可靠的MANET应用程序的Gossip协议分析
- 数据湖,已成为海量数据存储与分析的重要承载方式
- erlang安装_RabbitMQ的使用(一)- RabbitMQ服务安装
- 一文带你了解数据中心大二层网络演进之路
- Golang 结构类型
- Tensroflow练习,包括强化学习、推荐系统、nlp等
- C++中类中常规变量、const、static、static const(const static)成员变量的声明和初始化...
- html select 默认不选,解决设置select默认选中不生效的方法
- Ubuntu安装客户端RabbitVCS(svn管理)
- ioncube php encode,ionCube PHP解密
- 2021年安全生产模拟考试(全国特种作业操作证电工作业-防爆电气模拟考试题库二)安考星
- 读取excel标题、内容
- 数据采集之全埋点数据采集分析方法的一些整理
- VC++6.0 用gSoap客户端访问WebService