`
fhqibjg
  • 浏览: 53941 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

linux下apache,tomcat的ssl配制

    博客分类:
  • java
阅读更多

     最近项目中用到了ssl,所以要配制下apache对ssl的支持。其中遇到了点麻烦,按上网的也走了不少弯路。其实配制并不是很复杂可以说是简单,但有时候往往被小问题卡住很久。

 

     tomcat这里就不说了,因为在httpclinet发送https请求 中己基本介绍完了所有配制。这里重点说下linux下apache + openssl配制,这里apache版本为2.2.22。

 

      首先官网上下载 apacheopenssl 软件,下载过程中要注意存在版本问题(这里为2.2.22和openssl-0.9.8c)。所以请各位下载时多注意下,本人就因2.2.22与所支持的openssl版本问题时间耽误了好久(2.2.22应该搭配0.9.8c~e都没问题)。

 

     安装:

 

      1,安装openssl

           1,先tar -zxvf opensslxxxxx.tar.gz,然后cd 到该目录下

 

           2,采用默认配制 ./config (默认安装到usr/local/ssl目录中),不过这里linux为64位所以要改为 ./config shared,否则在编译apache时会报错(是否是64位系统引起本人不晓知,但这里因为没加这参数在安装时误了不少时间)。

 

           3,  在./config shared完后make && make install

 

 

      2,接着安装apache,在安装设置参数时我们需要把opensll的一些参数设置进去。网上有很多说明,但这里用如下参数设置。

 

./configure --prefix=/usr/local/apache --enable-so --enable-ssl= static --with-ssl=/usr/local/ssl --enable-mods-shared=all
 

 

       注: 网上许多--enable-ssl=static为 --enable-ssl= shared或是没写,但本版本中会报异常。网上有解释说是openssl版本的bug,需要静态编译模块去不能动态加载。原因具休不太清楚,我们目标是配制安装成功这里不去深究

 

 

       3,安装完后配制apache使之支持ssl,首先vi打开httpd.conf,在文件的下面处把#Include conf/extra/httpd-ssl.conf注释打开。如何对于https没有端口或是证书文件路径等的修改,这里可以不对 extra/httpd-ssl.conf文件进行修改。

 

       4,证书的生成,这里为自己生成签证的证书,所以访问需要添加例外。

 

          在证书生成时要注意,可以用到的openssl为系统自带的不是我们安装的。所以这里建议在apache安装目录的conf里面做个软链接 ln -s /usr/local/openssl openssl,这样我们就可以在conf目录下生成证书不输入很长的路径了。

 

          1,在conf目录下建立如下文件和文件夹

 

mkdir -p ./demoCA/{private,newcerts}
touch ./demoCA/index.txt
touch ./demoCA/serial
 

 

 

          2,生成服务器端的私钥(key文件):

./openssl genrsa -des3 -out server.key 1024
 

(这里为要设置密码)

 

          3,用server.key生成一个证书:

 

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

 

          4,生成的CSR证书文件必须有CA的签名才可形成证书.这时生成一个KEY文件ca.key 和根证书ca.crt

./openssl req -new -x509 -keyout ca.key -out ca.crt
 

 

          5,用生成的CA的证书为刚才生成的server.csr,client.csr文件签名(这也是两写在一起):

./openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key 
 

 

 

          些时配制完成,cd到apache的bin目录。./apachectl -k start启动apache即可(启动时要输入刚才生成key时设置的密码)

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics