免费ssl证书配置

最近上云,将个人网站漫岛的代码从阿里云的虚拟主机迁移到阿里云的ECS服务器,中间给网站配置ssl证书的时候遇到一些麻烦,参照网上的方法均不起任何作用,可能我这个问题比较个性,自己花了两天时间才解决,首先看下常规的SSL证书配置方案:
1.在Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为a.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/a_public.crt
# 证书私钥配置
SSLCertificateKeyFile cert/a.key
# 证书链配置,如果该属性开头有 '#'字符,请删除掉
SSLCertificateChainFile cert/a_chain.crt

4.重启 Apache
以上是常规解决方案,网上大部分指导操作都是这样的,这并不没有解决我的问题,当我按照这样配置后,apache无法启动,错误日志显示Parent process exited abruptly. Child process is ending(父进程突然退出,子进程正在结束!)
以上错误的原因无非是配置文件出错,用代码注释法很容易排查出问题出在第二步#Include conf/extra/httpd-ssl.conf(删除行首的配置语句注释符号“#”,保存后退出),然而问题虽然很明确,但是改了很久也没能解决,最后抛弃了这种方案,下面是我的解决方案。

  • 1.打开 Apache 安装目录下 conf 目录中的 httpd.conf 文件,找到以下内容并去掉前面的“#”注释符,使得SSL模块生效。
  • 2.不解开#Include conf/extra/httpd-ssl.conf的注释,引用我们手动写的一个简单配置文件。即增加一条引用:【Include conf/vhostssl.conf】,如下图所示:
    在这里插入图片描述
    vhostssl.conf内容如下,自己替换相应内容:
Listen xml
<VirtualHost *:443>
    DocumentRoot "C:\projects\PhpStudy20180211\PHPTutorial\WWW"
    ServerName www.iscoser.com
    ServerAlias iscoser.com
    SSLEngine on
    SSLProtocol TLSv1 TLSv1.1 TLSv1.2
    SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
    SSLCertificateFile "C:\projects\PhpStudy20180211\PHPTutorial\Apache\cert\xx.com_public.crt"(证书公钥)
    SSLCertificateKeyFile "C:\projects\PhpStudy20180211\PHPTutorial\Apache\cert\xx.com.key"(证书私钥)
    SSLCertificateChainFile "C:\projects\PhpStudy20180211\PHPTutorial\Apache\cert\xx_chain.crt"(证书链)
  <Directory "C:\projects\PhpStudy20180211\PHPTutorial\WWW">
      Options +Indexes +FollowSymLinks +ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all
      Require all granted
  </Directory>
</VirtualHost>

3.重启apache(注意443端口是否被防火墙拦截或被占用);
经历以上步骤,我终于解决了ssl证书的配置问题,网上大部分的博客也好或者是其他的文章也好,套路都差不多,所以我在这里提供一个额外的思路供大家参考,另外说一句,我用的是lamp的集成环境。

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值