zoukankan      html  css  js  c++  java
  • 申请安装阿里云免费SSL证书

    微信小程序已经全面要求使用HTTPS服务了,还有苹果商店也是,所以,实现网站HTTPS已经很有必要。要实现HTTPS就需要一个SSL证书,证书大部分都很贵,不过也有一些免费的证书服务供个人开发者使用。

    #SSL证书#

    HTTPS连接基于SSL证书,SSL证书一般可以分成以下三大类:

    • DV SSL(域名型);
    • OV SSL(企业型);
    • EV SSL(增强型);

    一般每种类型下面又分成不同版本(价格不同),比如企业型证书一般又分成:

    • 普通版企业型证书;
    • 专业版企业型证书;
    • 普通版企业型通配符证书;
    • 专业版企业型通配符证书;

    一、域名型SSL证书

    即证书颁布机构只对域名的所有者进行在线检查,通常是验证域名下某个指定文件的内容,或者验证与域名相关的某条TXT记录。

    浏览器普通加锁标记。

    二、企业型SSL证书

    需要购买者提交组织机构资料和单位授权信等在官方注册的凭证,证书颁发机构在签发SSL证书前不仅仅要检验域名所有权,还必须对这些资料的真实合法性进行多方查验,只有通过验证的才能颁发SSL证书。

    浏览器普通加锁标记。

    三、增强型SSL证书

    验证流程更加具体详细,验证步骤更多,这样一来证书所绑定的网站就更加的可靠、可信。它跟普通SSL证书的区别也是明显的,安全浏览器的地址栏变绿,如果是不受信的SSL证书则拒绝显示,如果是钓鱼网站,地址栏则会变成红色,以警示用户。

    #常见CA厂商#

    目前常见的证书颁发机构主要有:

     
    Symantec
    GeoTust
    TrustAsia
    Let's Encrypt
    品牌定位 全球第一 全球第二 亚太区专业品牌 全球新兴品牌
    价格 高级品牌,价位高 价格稍低 价格稍低,含免费 免费
    证书类型 企业型/增强型,单域名、多域名、泛域名证书 企业型/增强型,单域名、多域名、泛域名证书 域名型,单域名、多域名、泛域名证书 域名型,单域名证书
    客户群体 银行、金融、保险、医疗、电子商务等 传统行业、企业、教育、公共部门等 公共部门、非盈利项目、开源项目等 个人网站/博客,非盈利项目、开源项目等

    而当前国内提供SSL证书服务的云厂商主要有(加粗为免费域名型证书):

     
    支持品牌
    支持证书种类
    免费种类
    阿里 Symantec、GeoTrust、CFCA(国内CA) 21 1
    腾讯 Symantec、GeoTrust、TrustAsia 17 1
    百度 TrustAsia 1 1
    又拍 Symantec、GeoTrust、TrustAsiaLet's Encrypt 22 2
    七牛 Symantec、GeoTrust、TrustAsia 15 1
    金山 Symantec、GeoTrust 14 1

    #申请免费证书#

    下面以申请阿里云免费证书为例,不得不说,阿里云的免费证书申请简直是跟客户在玩捉迷藏。

    1)首先,进入默认证书购买页面,产品-安全-CA证书。

    2)点击选择“Symantec”。

    3)回到第一行,选择增强型OV SSL。

    这个时候才看到“免费型DV SSL”的标签,点击进去申请即可。

    顺带一提,由于免费DV SSL证书只能对应一个域名一个,所以可以一次性申请多几个。(笔者就一次性申请了10个)

    #安装证书#

    申请证书通过后,需要把证书安装到服务器端。申请的过程中需要域名映射验证,根据阿里云提示做即可,这里不再赘述。

    证书申请通过后,下载证书,以Nginx为例,有两个文件,分别是.pem证书文件和.key证书私钥文件。

    1)在nginx下创建cert目录,并且把证书文件和私钥文件上传到该目录下。

    # cd /usr/local/nginx
    # mkdir cert
    # chown www:www cert
    # ls -l cert/
    total 8
    -rw------- 1 www www 1678 Mar 31 16:08 abc.com.key
    -rw------- 1 www www 3678 Mar 31 16:08 abc.com.pem

    2)配置nginx.conf文件。

    # vim /usr/local/nginx/conf/nginx.conf
    
    server {
        listen        80;
        server_name   abc.com www.abc.com;
        rewrite ^/(.*)$ https://abc.com/$1 permanent;
    }
    server {
        listen        443;
        server_name   abc.com www.abc.com;
        index         index.html;
        root          /data/www/www.abc.com;
    
        ssl                       on;
        ssl_certificate           ../cert/abc.pem;
        ssl_certificate_key       ../cert/abc.key;
        ssl_session_timeout       5m;
        ssl_ciphers               ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols             TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
    }

    3)最后重启nginx即可。

  • 相关阅读:
    B
    A
    I
    IIS发布和部署
    编程中什么叫上下文
    浅谈Session,Cookie和http协议中的无状态
    cmd界面输入sqlplus提示不是内外部命令解决方法
    C#已设置安全调试选项,但此选项要求的VS承载进程在此调试中不可用。解决方法
    IIS和IIS Express的区别
    vue.js:634 [Vue warn]: Failed to generate render function: SyntaxError: Unexpected token ')'
  • 原文地址:https://www.cnblogs.com/brishenzhou/p/8807466.html
Copyright © 2011-2022 走看看