问题解答 应用软件>>问题解答
    【问题所属栏目】- 应用软件
  Q:Apache增加SSL功能的步骤
  A:总览:
    =================================
    1、生成服务器key文件
    2、根据key文件生成.csr文件
    3、提交.csr给CA
    4、CA根据.csr制作.crt证书文件(CA认证后签发的服务器证书)和.ca文件(机构的公钥证书),如果是自己测试当然可以自己给自己做一个证书

    服务器上需要放置:
    1、解密.key后的decrypt-key文件
    2、.crt证书文件
    3、.ca中级证书文件(可选)
    =================================

    以abc.com为例,步骤说明:

    1:生成.key

    /usr/bin/openssl genrsa -des3 -out abc.com.key 1024
    Enter pass phrase for abc.com.key: 输入key文件的保护口令
    /usr/bin/openssl genrsa -des3 -out abc.com.key 1024
    Enter pass phrase for abc.com.key: 输入key文件的保护口令

    若要将私钥解密,则:

    /usr/bin/openssl rsa -in abc.com.key -out abc.com.decrypt-key

    2:根据.key生成.csr

    /usr/bin/openssl req -new -key abc.com.key -out abc.com.csr
    Please enter the following ’extra’ attributes
    to be sent with your certificate request
    A challenge password []:输入随机字符串,配合.csr文件的生成.

    3:提交.csr文件给CA,以便他们制作.crt证书文件和ca文件.

    如果是自己制作,可以使用下面的命令:

    /usr/bin/openssl x509 -in abc.com.csr -out abc.com.crt -req -signkey abc.com.key -days 365

    4:收到CA来的(或者自制的).crt证书文件和ca文件后,在服务器上:
    .key文件:/home/admin/conf/apache/ssl.key/abc.com.decrypt-key
    .crt文件:/home/admin/conf/apache/ssl.crt/abc.com.crt
    .ca文件: /home/admin/conf/apache/ssl.crt/abc.com.ca

    httpd.conf中配置:

    ################################
    MaxClients 96
    AddDefaultCharset GBK
    NameVirtualHost *:443
    ServerName abc.com
    DocumentRoot /home/admin/share/htdocs
    DirectoryIndex index.html
    ## SSL information
    SSLEngine on
    SSLCertificateFile /home/admin/conf/apache/ssl.crt/abc.com.crt
    SSLCertificateKeyFile /home/admin/conf/apache/ssl.key/abc.com.decrypt-key
    # SSLCACertificate* is necessary if you have a Global-ID certificate
    # such as the Thawte *.yahoo.com certificate
    SSLCACertificatePath /home/admin/conf/apache/ssl.crt
    SSLCACertificateFile /home/admin/conf/apache/ssl.crt/abc.com.ca
    ################################

    注:如何在同一机器上配置多个SSL应用
    一般情况下,同一个IP地址或同一个端口,只能有一个SSL。
    但是可以采用如下办法解决:
    同IP地址不同端口,部署多个SSL。
    同端口不同IP地址,部署多个SSL。

    配置过程中可能出现的问题:

    1、在windows中可能会出现找不到openssl.cnf的提示,apache根目录的conf/openssl.cnf即是。需要在命令中加上-config con/openssl.cnf即可解决。

    2.如果配置好的ssl访问时网页提示:
    SSL received a record that exceeded the maximum permissible length.(Error code: ssl_error_rx_record_too_long)
    则可能是:
    1)虚拟机配置出错;
    2)也可能是访问时直接在url中写了端口的缘故。不过真正原因不在显示写了端口,多半也是因为其中虚拟机配置错误引起。
     去电脑《问吧!》提问:

     [文章来源:“十万个为什么”电脑学习网]
     [网址:http://why100000.com]
     [特别声明:除本站部分特别声明禁止转载的专稿外,其他的文章可以自由转载,但请务必注明出处和原始作者。本站文章版权归文章原作者所有。如果本站转载的文章有版权问题请联系我们,我们会尽快予以更正。]
   [人气:171]   [更新时间:2010-6-26 23:51:20]   [最后访问时间:2010-9-10 19:24:17]  

【字体:[大] [中] [小] 【加入收藏】 【发表评论】 【关闭本窗口】 收藏此页到365Key】  

Copyright © “十万个为什么”电脑学习网 2000-2007 陕ICP备06007929号
站务联系:MSN & Email:zhangking2008@gmail.com  QQ:9365822