Linux下Tomcat7配置startssl证书遇到的问题总结

申请完证书(见),配置到tomcat(Windwos下)启动时报错

Connector attribute SSLCertificateFile must be defined when using SSL with APR  

通过查看tomcat7/webapps/docs/apr.html文件,添加了

SSLCertificateFile和SSLCertificateKeyFile两个参数的设置。

在Windows下tomcat可以正常启动,但在Linux下却不能启动,启动报错:

Java.io.IOException: DerInputStream.getLength(): lengthTag=109, too big.  

对比了下两者的日志,发现windows下的tomcat的ProtocolHandler 是["http-apr-9443"]linux下的是["http-bio-9443"]
然后就去查查bio和apr到底是什么,查资料发现这是tomcat的运行模式,有三种,分别是:bio、nio和apr,下面介绍下三种模式。

bio
默认的模式 blocking IO,性能非常低下,没有经过任何优化处理和支持.

nio
利用java的异步io护理技术,no blocking IO技术。性能得到初步优化但与apr相比,还是有一些差距。

apr
安装起来最困难,但是从操作系统级别来解决异步的IO问题,大幅度的提高性能。必须要安装apr和tomcat native,直接启动就支持apr。

原来是因为linux下没有安装apr和tomcat-native导致tomcat使用默认的bio模式启动。那就安装这两个东西呗。安装完后就可以启动了。

启动后发现ie,chrome。。。这些都可以识别证书,但firefox不信任,又是一番google,原来是没有配置好,firefox需要把startssl的根证书和sub class1的证书附上,因为是他们把证书颁发给你,firefox需要这张证书才认识你的证书。OK,问题解决。

关于整个详细配置过程,在这篇文章()中给出。

参考资料:
HTTPS APR/native connector参数说明

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/c74aebb68046ff37b492b8425a9fb2e8.html