tomcat 基于apr配置https

来源:互联网 发布:手机怎么添加wifi网络 编辑:程序博客网 时间:2024/04/30 02:06

首先 安装 openssl :yum install openssl

第一步:生成证书

1)创建保存证书的目录:mkdir -p /usr/local/ssl

2) 生成证书: 

首先,进入你想创建证书和私钥的目录,例如:

# cd /usr/local/ssl

创建服务器私钥,命令会让你输入一个口令:

# openssl genrsa -des3 -out server.key 1024

创建签名请求的证书(CSR):

# openssl req -new -key server.key -out server.csr

在加载SSL支持的Nginx并使用上述私钥时除去必须的口令:

# cp server.key server.key.org

最后标记证书使用上述私钥和CSR:

# openssl rsa -in server.key.org -out server.key

# openssl rsa -in server.key -out server.pem

# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt


第二步:系统级别的apr安装和设置,因为在linux系统上tomcat的apr在编译时是依赖它的

Linux下Apache和Apr整合,提高Apache性能
<!---->
1. 安装 APR 
1)下载源码包 apr-1.2.8.tar.gz 
  下载地址:http://apr.apache.org 
2)安装步骤 
  ./configure --prefix=/usr/local/apache2/apr 
  make 
  make install 
3)注意:prefix必须一次写正确,否则无法卸载重新指定目录 

2. 安装APR-UTIL apr-util-1.2.8.tar.gz 
1)下载源码包 
  下载地址: http://apr.apache.org 
2)安装步骤 
  ./configure --prefix=/usr/local/apache2/apr --with-apr=/usr/local/apache2/apr 
  make 
  make install 
3. 安装apr-iconv-1.2.1.tar.gz 
1)下载源码包 
  下载地址: http://apr.apache.org 
2)安装步骤 
  ./configure --prefix=/usr/local/apache2/apr --with-apr=/usr/local/apache2/apr 
  make 
  make install 
3)注意:prefix必须一次写正确,否则无法卸载重新指定目录

第三步 安装Tomcat-Native连接APR,提高静态资源的访问性能 

1) 找到tomcat的bin目录下的tomcat-native.tar.gz

   注意最好用tomcat自带的,因为下载的可能和tomcat版本不匹配,本人一开始就是下载的,结果make的时候一直报STACK变量找不到。 (当然如果      tomcat下真的没有,也可以自己下载,本人tomcat 8,使用omcat-native-1.1.33-src。

   下载软件包  tomcat-native-1.1.10-src.tar.gz 

   下载地址:http://archive.apache.org/dist/tomcat/tomcat-connectors/native/ )
2)安装步骤 
   a. tartomcat-native.tar.gz
   b. cd /tomcat-native-1.1.33-src/jni/native 
   c. ./configure --prefix=/usr/local/apache2/apr --with-apr=/usr/local/apache2/apr --with-java-home=/usr/java/jdk1.5.0_12 
   d. make 
   e. make install 
   f. 修改  bin/catalina.sh 添加 CATALINA_OPTS=' -Djava.library.path=/usr/local/apache2/apr/lib'

3)配置 server.xml 的https (其他地方不需要改)

<Connector protocol="org.apache.coyote.http11.Http11AprProtocol"           port="8443" maxThreads="2000"           scheme="https" secure="true" SSLEnabled="true"           SSLCertificateFile="/usr/local/ssl/server.crt"           SSLCertificateKeyFile="/usr/local/ssl/server.pem"           SSLVerifyClient="optional" SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"/>


1 0