阿里云-https免费证书申请与配置 Apache服务器安装SSL证书


所需材料: 
       1、域名1个。 
       2、虚服务器1台。 
       3、ssl证书1个。 

前提准备: 
       1、域名最好要备案,在国内使用比较方便。 
       2、我推荐阿里云的ECS。(可以先领取一个代金券,购买主机有优惠:https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=ffsbbyn0  。) 
       3、ECS为Linux系统,安装的是AMH控制面板(如何安装amh控制面板:https://bbs.aliyun.com/read/143639.html) 
       4、阿里云可以免费申请ssl证书。 
操作步骤: 
       1、申请免费1年的ssl证书(传送门:https://common-buy.aliyun.com/?spm=5176.2020520163.cas.29.N0xOPM&commodityCode=cas#/buy)。免费证书,只能使用一个域名,不支持主域名下的二级域名,请悉知。不过1个阿里云帐号可以申请20个免费证书,对于普通账户足够了。 
       2、购买完成后,需要补全信息。搜ssl

     2、购买完成后,需要补全

 

 域名配置:

下载证书配置
 

Apache服务器安装SSL证书

 


 

操作步骤

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

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

     
    1. #LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
    2. #Include conf/extra/httpd-ssl.conf(删除行首的配置语句注释符号“#”,保存后退出)
  3. 打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:

     
    1. # 添加 SSL 协议支持协议,去掉不安全的协议
    2. SSLProtocol all -SSLv2 -SSLv3
    3. # 修改加密套件如下
    4. SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
    5. SSLHonorCipherOrder on
    6. # 证书公钥配置
    7. SSLCertificateFile cert/a_public.crt
    8. # 证书私钥配置
    9. SSLCertificateKeyFile cert/a.key
    10. # 证书链配置,如果该属性开头有 '#'字符,请删除掉
    11. SSLCertificateChainFile cert/a_chain.crt

    Listen 443
    <VirtualHost *:443>
    DocumentRoot "C:xx"
    ServerName www.xxx.com
    ServerAlias xxx.com

    SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
    SSLHonorCipherOrder on
    SSLCertificateFile "C:\phpStudy\Apache\cert\public.pem"
    SSLCertificateKeyFile "C:\phpStudy\Apache\cert\1523954142398.key"
    SSLCertificateChainFile "C:\phpStudy\Apache\cert\chain.pem"



    <Directory "C:/phpstudy/WWW/jswei7/v35320170814">
    Options +Indexes +FollowSymLinks +ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
    Require all granted
    </Directory>
    </VirtualHost>

     

  4. 重启 Apache。

     
    1. apachectl -k stop
    2. apachectl -k start
这里填写你要做https的域名
 
仔细填写,我的域名和ecs都是阿里云的,直接就选择了DNS。邮箱要填仔细了,后面需要认证
 
 
忘了截图,借的一张图,我是选择系统生成CSR
接下来,系统会给你发一封邮件,如下图
 
按照邮件的提示,对于名进行解析操作。
 
接下来就是等待,上述红框内是待审核状态,我的已经签发了。这个审核时间不会太长的。
 
点击下载,跳转到如下界面
 
我的ECS装的是AMH控制面板,所以下载的是nginx证书
下载的是一个安装包,解压即可

 
 
 
       打开AMH控制面板,点击模块扩展里的下载模块,然后搜索SSL。如上图 
       然后点击下载、安装

 

 
       点击这个BBShijieSSL,管理模块。选择对应的域名。将你刚下载,解压后的nginx证书,对应的文件,打开、复制、粘贴、保存

 

 
最后一步:如何让http强制跳转HTTPS上去 
       上面已经做到了https访问网站,但是如果访问http还是可以访问的,那么如何实现访问http时,自动跳转到https上去呢?且看下面的教程: 
       ftp打开如下地址 
       /usr/local/nginx/conf/vhost/ 
       在上面的目录中,找到站点对应的.conf文件,然后编辑。 
if ($server_port = 80) { 
return 301 https://$server_name$request_uri; 

if ($scheme = http) { 
return 301 https://$server_name$request_uri; 

error_page 497 https://$server_name$request_uri; 
       添加上面的脚本到文档中,如下图。

 

 
       做完上面这一步之后,再到AMH的控制面板首页,重启一下nginx,稍等片刻,重新加载浏览器试试看,是不是已经成功了? 

https://bbs.aliyun.com/read/303413.html?spm=a2c4e.11153987.0.0.266a6026gY5TdR (原文)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM