win7 Apache 配置支持HTTPS的SSL证书

                                                        windows   Apache 配置支持HTTPS的SSL证书

      1.安装apache,下载带有ssl版本的apache安装程序。

       ( 本次实验用的是 apache_2.2.8-win32-x86-openssl-0.9.8g.msi程序包.)

 

       2.安装完apache之后,检查apache目录下是否有以下文件:

           

    [Apache安装目录]/modules/ mod_ssl.so

    [Apache安装目录]/bin/ openssl.exe, libeay32.dll, ssleay32.dll, openssl.cnf

    [Apache安装目录]/conf/ openssl.cnf

          *(一般bin下没有openssl.cnf,把conf下的Openssl.cnf拷贝过去)


       

       3.打开cmd,进入apache安装目录bin下:

 步骤一:

       执行命令: openssl genrsa 1024 >server.key  (RSA密钥对的默认长度是1024,取值是2的整数次方,并且密钥长度约长,安全性相对会高点.)


步骤二:

   生产为签署的server.csr

 执行命令:openssl req -new -config openssl.cnf -key server.key >server.csr

 (如果不加-config openssl.cnf参数的话,常会报Unable to load config info from .../ssl/openssl.cnf

 执行完此条命令,会要求输入一系列参数:

     country Name (2 letter code) [AU]:CN ISO 国家代码(只支持两位字符)

       State or Province Name (full name) [Some-State]:ZJ 所在省份

        Locality Name (eg, city) []:HZ 所在城市

        Organization Name (eg, company): 公司名称

        Organizational Unit Name (eg, section) []: 组织名称

        Common Name (eg, YOUR name) []: 申请证书的域名(必须和httpd.conf中serverName必须一致)

        Email Address []:[email protected] 管理员邮箱

        Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: 交换密钥 

        An optional company name []: 

        注:Common Name必须和httpd.conf中serverName必须一致,否则apache不能启动(启动 apache 时错误提示为:server RSA certificate CommonName (CN) `Kedou' does NOT match server name!? )

        完成签署的server.csr配置。


 步骤三:

   签署服务器证书文件 server.crt

执行命令:openssl req -x509 -days 5000 -config openssl.cnf -key server.key -in server.csr >server.crt

(说明:这是用步骤 1,2 的的密钥和证书请求生成证书 server.crt,-days 参数 指明证书有效期,单位为天,x509 表示生成的为 X.509 证书。)


步骤四:

 在bin 目录下,找到tian_server.crt、tian_server.csr、tian_server.key三个文件,将此三个文件剪切到Apache的conf目录下。


步骤五:

         编辑配置文件httpd.conf ,找到下列两行,删除注释。

loadModule ssl_module modules/mod_ssl.so

Include conf/extra/httpd-ssl.conf (注:改成httpd-ssl.conf)


步骤六:

修改apache安装目录下,conf\extra ,编辑httpd_ssl_conf

SSLCertificateFile    E:\apache\conf\key\server.crt    (服务器证书的位置) 
SSLCertificateKeyFile    E:\apache\conf\key\server.key (服务器私钥的位置) 


重启apache,访问https://localhost 即可。



最后,我只想说,特么哒,本人做这个实验做了好几遍,最后发现,443端口被占用,简直就是醉了。。。

最后容我再说一句,注意其中修改的几个小细节,否则真的是痛苦万分。











你可能感兴趣的:(Windows,apache)