阿里云免费 SSL 证书申请和使用的过程

本贴最后更新于 2133 天前,其中的信息可能已经时移世改

阿里云免费 SSL 证书申请和使用的过程

悲催啊,本来这个博客的域名是使用 Let's Encrypt 提供 SSL 服务保护的,但是不小心删除之前 Let's Encrypt 生成的验证文件,导致更新证书的时候无法验证通过。目前不知道如何解决这个问题,不知道是否我的理解有误。

没有办法,只能暂时另辟蹊径,不过好在 HTTPS 非常的好,好多公司推出了免费一年的 SSL 证书服务,目前国内有好几家公司推出了免费一年 SSL 证书服务,这里我使用了阿里云 SSL 证书,是因为我的域名也在阿里云,个人觉得配置起来比较方便(事实上在操作的时候确实比较简单)。

阿里云免费 SSL 证书申请

  1. 阿里云 SSL 服务官网
    阿里云 SSL 证书服务
  2. 选择免费型 DV SSL
    选择免费型 DV SSL
  3. 如有没有登录则会跳转到登录界面先登录,如果已经登录则跳到订单确认页面
    免费型 DV SSL Symantec 订单确认页面
  4. 支付确认页面,支付为 0 元。
    免费型 DV SSL Symantec 支付
  5. 支付成功页面
    免费型 DV SSL Symantec 支付成功
  6. 点击证书控制台按钮,就会进入云盾管理控制台,然后下拉找到证书服务(也许页面会重排,就需要自己找找了)
    免费型 DV SSL Symantec 证书服务
  7. 信息补全
    支付完成后需要补全证书信息,其过程为:绑定域名、信息验证、CSR 证书请求文件生成。
    免费型 DV SSL Symantec 补全信息
  8. 域名绑定
    一个订单只能绑定一个域名,目前阿里云可以创建 10 个订单,即最多能绑定 10 个域名。
    免费型 DV SSL Symantec 绑定域名
  9. 补全个人信息
    主要是对域名授权验证,这里着重提醒的是,如果域名服务也在阿里云,那么大胆的勾选“证书绑定的域名在【阿里云的云解析】产品中”这一选项
    免费型 DV SSL Symantec 授权验证
  10. CSR 证书请求生成
    系统提供了系统生成 CSR 和自己生成 CSR 两种方式,觉得繁琐的就选择系统把。
    免费型 DV SSL Symantec CSR

由于域名在阿里云上,所以进度很快完成了。

阿里云 SSL 在 Nginx 配置方法

  1. 下载 Nginx 下的证书文件
    免费型 DV SSL Symantec 下载 PEM 文件
    免费型 DV SSL Symantec 下载 Nginx 的 PEM
  2. 将密钥上传到云服务器指定的目录,下面配置 Nginx 的需要指定
  3. 配置 Nginx,我的 SSL 证书放在 /apps/ssl/keys/aliyun/www.mzlion.com/ 目录下,下面是 Nginx 的配置选项
server {
    #启用 https, 使用 http/2 协议
    listen 443 ssl http2;

    #ssl
    #证书路径
    ssl_certificate /apps/ssl/keys/aliyun/www.mzlion.com/aliyun.pem;
    #私钥路径
    ssl_certificate_key /apps/ssl/keys/aliyun/www.mzlion.com/private.key;

    #可选的加密算法,顺序很重要,越靠前的优先级越高
    ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-RC4-SHA:!ECDHE-RSA-RC4-SHA:ECDH-ECDSA-RC4-SHA:ECDH-RSA-RC4-SHA:ECDHE-RSA-AES256-SHA:HIGH:!RC4-SHA:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!CBC:!EDH:!kEDH:!PSK:!SRP:!kECDH;
    #在 SSLv3 或 TLSv1 握手过程一般使用客户端的首选算法,如果启用下面的配置,则会使用服务器端的首选算法.
    ssl_prefer_server_ciphers on;


    #以下与证书无关了
    location /{
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass    http://127.0.0.1:8080;
    }

重启 Nginx,您就完成了阿里云 SSL 证书的申请和使用了。总体使用下来非常的方便,已经属于比较傻瓜式的了。其次提供了一年服务,就不需要每三个月更新的烦恼了。

最后还是对于 Let's Encrypt 丢失验证文件感到烦躁,不知道有没有大神解决方案!

  • SSL

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。

    70 引用 • 193 回帖 • 431 关注
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    311 引用 • 546 回帖
  • HTTPS
    99 引用 • 274 回帖 • 3 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • liweiwei

    厉害哦

  • 其他回帖
  • someone

    想问大神,阿里云的虚拟主机是否能够使用Let’s Encrypt,大概怎么部署的,找不到可以配置的地方。请指点一个路子

    1 回复
  • mzlion
    作者

    你说的是 ECS?如果是,部署 Let's Encrypt 需要自己完成,包括申请、配置等。

  • vitalQ

    终于配置好 ssl 了,虽然有点问题,但还是非常感谢楼主.