阿里云Symantec免费SSL配置补充【Apache】

        在阿里云CA证书中心购买Symantec的免费SSL后,有两种选择:A直接推送CDN配置HTTPS,只能在使用CDN的时候可以正常使用,不过操作很简单,只需在CDN域名下操作一下就可以了;B在服务器配置HTTPS,操作稍微复杂了些,具体见后面内容。

阿里云提供的配置参考说明:主要是先下载对应版本的证书,然后到服务器安装

175059_guNb_3294869.png

以下为官方说明:(ps:3984897660442为证书下载文件名,每个证书都不同的。)

文件说明:

1. 证书文件3984897660442.pem,包含两段内容,请不要删除任何一段内容。

2. 如果是证书系统创建的CSR,还包含:证书私钥文件3984897660442.key、证书公钥文件public.pem、证书链文件chain.pem。

( 1 ) 在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为3984897660442.key;

( 2 ) 打开 apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉“#”:

#LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
#Include conf/extra/httpd-ssl.conf

( 3 ) 打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:

# 添加 SSL 协议支持协议,去掉不安全的协议
SSLProtocol all -SSLv2 -SSLv3
# 修改加密套件如下
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
# 证书公钥配置
SSLCertificateFile cert/public.pem
# 证书私钥配置
SSLCertificateKeyFile cert/3984897660442.key
# 证书链配置,如果该属性开头有 '#'字符,请删除掉
SSLCertificateChainFile cert/chain.pem

( 4 ) 重启 Apache。

( 5 ) 通过 https 方式访问您的站点,测试站点证书的安装配置

 关于以上,我需要补充说明下:

1、httpd.conf 文件中的httpd-ssl.conf开启后,重启Apache是无法启动的,log无报错,需要先把httpd-ssl.conf文件内容配置好。

2、httpd-ssl.conf文件修改的内容需要在代码<VirtualHost _default_:443></VirtualHost>之间修改才能生效。

3、关于httpd-ssl.conf文件修改的路径,把原来安装默认的路径配置,全部替换成你所安装的Apache目录的绝对路径,在路径上报错Apache的error.log日志没有看到记录。

4、httpd-ssl.conf文件补充说明:在按照阿里云说明配置后,需要配置好DocumentRoot 和ServerName 的参数,才可以正常访问https,不然会出现http能访问,https报404。

<VirtualHost _default_:443>
# 添加 SSL 协议支持协议,去掉不安全的协议
SSLProtocol all -SSLv2 -SSLv3
#   General setup for the virtual host
DocumentRoot "C:\phpStudy\WWW\wx"    #这里需要设置https网站的目录
ServerName ps.XXX.com:443            #这里设置网站域名和端口,一般都是443
ServerAdmin panda@xxx.com            #这个是管理员邮箱,貌似没啥用
ErrorLog "C:/phpStudy/Apache/logs/error.log"
TransferLog "C:/phpStudy/Apache/logs/access.log"


此处省略无关代码....

</VirtualHost>

5、以上修改好配置路径和网站域名目录后,重启Apache就可以实现https访问了

 

顺带提及一下

【关于一个服务器配置多个https域名的处理】

参考资料:https://www.cnblogs.com/shaoyikai/p/4235690.html

至于一台主机,如何配置多个https网站呢?有以下几种方法:

  1. 使用通配符证书,此证书需要到专门的证书颁发机构购买。
  2. 使用普通证书,配置apache的ssl主机头(需要apache版本支持)。

第一种

通配符证书往往价格比较贵,对一些大公司很适合。而对于很多小站长来说,使用普通证书可以省下来很多费用。

配置方法较简单,和http网站虚拟主机类似,只不过这些网站公用一个证书。

证书安装方式,可以咨询证书颁发机构,或者自己配置IIS或Apache等服务器软件。

第二种

假如有2个域名aaa.com和bbb.com。

首先,购买两个域名相应的证书。

其次,配置httpd-ssl.conf文件,举例:

Listen 443

SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLPassPhraseDialog  builtin
SSLSessionCache        "shmcb:C:/wamp/bin/apache/apache2.4.9/conf/ssl/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300

<VirtualHost _default_:443>
    DocumentRoot "c:/wamp/www/aaa"  #网站根目录
    ServerName aaa.com:443    #主机名
    ServerAdmin admin@aaa.com  #管理员邮箱

    ErrorLog "C:/wamp/bin/apache/apache2.4.9/logs/error_aaa.log"
    TransferLog "C:/wamp/bin/apache/apache2.4.9/logs/access_aaa.log"

    SSLEngine on
    #注意以下证书文件路径!!!
    SSLCertificateFile "C:/wamp/bin/apache/apache2.4.9/conf/ssl_aaa/public.crt"
    SSLCertificateKeyFile "C:/wamp/bin/apache/apache2.4.9/conf/ssl_aaa/private.key"
    SSLCACertificateFile "C:/wamp/bin/apache/apache2.4.9/conf/ssl_aaa/ca-bundle.crt"
</VirtualHost>  

<VirtualHost _default_:443>
    DocumentRoot "c:/wamp/www/bbb"  #网站根目录
    ServerName bbb.com:443    #主机名
    ServerAdmin admin@aaa.com  #管理员邮箱

    ErrorLog "C:/wamp/bin/apache/apache2.4.9/logs/error_bbb.log"
    TransferLog "C:/wamp/bin/apache/apache2.4.9/logs/access_bbb.log"

    SSLEngine on

    #注意以下证书文件路径!!!
    SSLCertificateFile "C:/wamp/bin/apache/apache2.4.9/conf/ssl_bbb/public.crt"
    SSLCertificateKeyFile "C:/wamp/bin/apache/apache2.4.9/conf/ssl_bbb/private.key"
    SSLCACertificateFile "C:/wamp/bin/apache/apache2.4.9/conf/ssl_bbb/ca-bundle.crt"

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>

    <Directory "C:/wamp/bin/apache/apache2.4.9/cgi-bin">
        SSLOptions +StdEnvVars
    </Directory>

    BrowserMatch "MSIE [2-5]" \
             nokeepalive ssl-unclean-shutdown \
             downgrade-1.0 force-response-1.0

    CustomLog "C:/wamp/bin/apache/apache2.4.9/logs/ssl_request.log" \
              "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

简单些理解,就是配置多个<VirtualHost _default_:443></VirtualHost>,跟vhosts.conf文件配置多个http域名类似。

 

 

以上,就基本能满足对https配置的管理与使用了

转载于:https://my.oschina.net/u/3294869/blog/1589373

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值