登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

欢迎光临我的博客

 
 
 

日志

 
 

Apache+NC+SSL的配置文档  

2008-07-07 15:14:47|  分类: 学习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 

Apache+NC+SSL的配置文档

NC技术支持部  李伟雄

2005.1.18

 

随着计算机网络的迅速发展, 安全问题日益突出, 如何保障在网络上安全地传输数据,成为一大技术热点。目前一般采用SSL协议在Internet上进行数据的安全传输。SSL现在已经成为事实上的国际标准。随着NC的推广,如何保障NC数据在网上传输的安全性,成为大家关心的问题。NC中间件采用的是Tomcat, 我们可以通过Apache+NC+SSL的方式来保障NC数据在网络上传输的安全性。

本文档主要讲述如何配置Apache+NC+SSL, 关于SSL协议的细节请参考其它文档。本文档同样适用于只配置Apache+NC的情况。

 

下面的配置步骤在以下环境中测试通过:

   Apache_1.3.29-Mod_SSL_2.8.16-Openssl_0.9.7c-Win32.zip

   Openssl-0.9.7c-Win32.zip

   NC230/NC30

   Win2000 server

 

一、Apache+NC在同一台机器上

(一).安装Apache Web Server(在NT下,可以做为一个服务启动):

(二).配置NC:

1. 在"%NCHome%\node\3000\conf的Server.xml

启用: 

             <!-- Apache AJP12 support.    -->

             <Connector className="org.apache.tomcat.service.PoolTcpConnector">

                   <Parameter name="handler" value="org.apache.tomcat.service.connector.Ajp13ConnectionHandler"/>

                   <Parameter name="port" value="8007"/>

             </Connector>

删除(或注释):

          <!-- Normal HTTP -->

          <Connector className="org.apache.tomcat.service.PoolTcpConnector">

             <Parameter name="handler"

                value="org.apache.tomcat.service.http.HttpConnectionHandler"/>

             <Parameter name="port"

                value="80"/>

          </Connector>

注意 : 一定为  <Parameter name="port" value="8007"/>, 如果value=8107或其它则改成8007。

 

(三) .启动NC,获得自动生成的文件"%NCHome%\node\3000\conf\mod_jk.conf-auto",;并将其拷贝到"%ApacheHome%/conf"目录下;

(四) .修改"%NCHome%\node\3000\conf"下的配置文件:workers.properties:

设置变量:

          workers.tomcat_home=%NCHome%

          workers.java_home=%JavaHome%

 

(五) .将"mod_jk.dll"(下载并解压Tomcat,在其"modules"目录下)拷贝到"%ApacheHome%/modules"目录下;

(六) .修改"%ApacheHome%/conf/"下Apache Web Server的配置文件——httpd.conf;

1 .修改 DocumentRoot "%NCHome%/webapps/nc_web"

2 .修改DirectoryIndex。查找下面的文字,将DirectoryIndex index.html

修改成 DirectoryIndex index.jsp index.html。

即 :

<IfModule mod_dir.c>

              DirectoryIndex index.jsp index.html

</IfModule>

3 . 修改 ServerRoot=%ApacheHome%

4. 在<IfModule mod_alias.c> 下加入下列语句:

       Alias /nc/ "%NCHOME%/webapps/nc_web"

   <Directory "%NCHOME%/webapps/nc_web">

          Options Indexes FollowSymlinks MultiViews

          AllowOverride None

          Order allow,deny

          Allow from all

       </Directory>

5 . 将 <Directory "c:/apache/htdocs"> 改为 <Directory "%NCHome%/webapps/nc_web">

6 .在最后加入语句:

Include "%ApacheHome%/conf/mod_jk.conf-auto"

7 . 将 apache 的路径改为本机的实际路径 . 例如 :c:/apache/ 改为 d:/apache/

8 .重启 Apache Web Server,启动NC.

注意:

%ApacheHome%:请用Apache Web Server的实际安装目录代替;

%NCHome%:请用NC的安装目录代替,如:C:\ufsoft\newcentury

%JavaHome%:请用JDK的安装目录代替;如:C:\ufsoft\newcentury\ufjdk

 

二. 如果Apache与NC在不同的机器上

    则在上面的基础上增加以下几步:

(一).将"%NCHome%\node\3000\conf"下的配置文件:workers.properties拷贝到"%ApacheHome%/conf"目录下;

(二).修改"%ApacheHome%/conf/workers.properties" 中的:

       worker.ajp12.port=8007

       worker.ajp12.host=localhost  (修改为NC的IP地址)

       worker.ajp12.type=ajp12

  

       worker.ajp13.port=8009

       worker.ajp13.host=localhost  (修改为NC的IP地址)

       worker.ajp13.type=ajp13

 

(三). 修改%ApacheHome%/conf/mod_jk.conf-auto文件中的 JkWorkersFile 与 JkLogFile项,在这里修改为:

JkWorkersFile "%ApacheHome%/conf/workers.properties"

JkLogFile "%ApacheHome%/logs/mod_jk.log"

   然后在JkMount /*.jsp ajp12之前增加一行,内容如下:

      JkMount /* ajp12

 

三. Apache+NC+SSL (apache与NC在不同的机器上)

    则在上面一、二步基础上再增加以下几步:

   (一).生成安全证书:

     1. 解压Openssl-0.9.7c-Win32.zip

     2.在命令行窗口中进入解压的目录,分别执行以下命令 :

      openssl req -config openssl.cnf -new -out my-server.csr

     (注意: 当提示“Common Name (eg, your websites domain name)”,给出精确的Apache服务器域名或IP地址,如:www.ufsoft.com或192.168.9.99)

      openssl rsa -in privkey.pem -out my-server.key

      openssl x509 -in my-server.csr -out my-server.cert -req -signkey my-server.key -days 365

      openssl x509 -in my-server.cert -out my-server.der.crt -outform DER4

     将生成的文件 my-server.der.crt , my-server.cert , my-server.key , privkey.pem , my-server.csr 拷贝到%ApacheHome%\conf\ssl\ 的文件夹下,如果没有这个文件夹,就建立一个.

     3.  进入解压的目录,将ssleay32.dll 和 libeay32.dll 到 apache服务器的WINNT\System32目录下.

  (二).修改"%ApacheHome/conf/httpd.conf"

     1. 将 port 80 改为 port 443

     2. 在最后加入语句:

        LoadModule ssl_module modules/mod_ssl.so

        SSLMutex sem

        SSLRandomSeed startup builtin

        SSLSessionCache none

        SSLLog logs/SSL.log

        SSLLogLevel info

       <VirtualHost apache服务器的域名或IP:443>

        SSLEngine On

        SSLCertificateFile conf/ssl/my-server.cert

        SSLCertificateKeyFile conf/ssl/my-server.key

       </VirtualHost>

   最后分别启动Apache和NC,然后打开浏览器,在地址栏输入: https://apache服务器IP或域名,即可.

  

注意:

1. 目前Apache+NC+SSL只支持startdirectserver启动方式。

2. 如果NC为230版本,则在配置Apache+NC+SSL方式时需打支持SSL的NC补丁,配置Apache+NC则不需要。如果NC为3。0版则在配置Apache+NC 或Apache+NC+SSL方式时都不需要打补丁。

3. 无论Apache与NC是否在同一台机器上,都可以采用在不同机器上的方式进行设置。

 

  评论这张
 
阅读(1037)| 评论(1)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018