【云计算的1024种玩法】使用阿里云解析 + RAM 快速签署 Let's Encrypt 证书-阿里云开发者社区

开发者社区> 开发与运维> 正文

【云计算的1024种玩法】使用阿里云解析 + RAM 快速签署 Let's Encrypt 证书

简介: 随着互联网的发展,我们对更安全更快速的互联网有了很高的要求,相比大家对网页劫持和网页恶意挂马一定是深恶痛绝了吧,那么怎么杜绝呢?通过 HTTPS 就可以简单有效的杜绝这些行为,当然了,一些高级的劫持手段还是防不胜防。

前言

随着互联网的发展,我们对更安全更快速的互联网有了很高的要求,相比大家对网页劫持和网页恶意挂马一定是深恶痛绝了吧,那么怎么杜绝呢?通过 HTTPS 就可以简单有效的杜绝这些行为,当然了,一些高级的劫持手段还是防不胜防。

而且 HTTPS 也有非常多的福利,比如说浏览器的 安全 符号加持,搜索引擎的 SEO 加权等等,如下图的浏览器标识:

image

如下图的搜索引擎移动加权的 AMP/MIP 技术依赖于 HTTPS:

image

而 HTTPS 则是依赖于 SSL 证书的,通过对应证书和私钥来实现传输的安全,技术的原理由于篇幅关系就不赘述了大家可以在云栖社区搜索 HTTPS 查看相关文章。

要求 & 收获

需要使用到的产品:

  1. ECS/轻量应用服务器(安装任意 Linux 发行版镜像)
  2. 域名(仅需使用阿里云 DNS 即可)

通过本文你将讲学到:

  1. 使用云解析(DNS)
  2. 使用访问控制(RAM)
  3. 使用 ACME 技术
  4. 快速签发 Let's Encrypt 证书

如果你是大学生且还没有 ECS,可以使用:

云翼计划

学生用户可以在阿里云官网上进行学生认证后购买一定配置的ECS,仅需9.9元每月,学生用户无需担心花费过多用在服务器的问题。

学生用户在经过学生认证过后就可以在相关网址进行购买,网址为:

https://promotion.aliyun.com/ntms/campus2017.html

买好了服务器就可以去刚刚注册好的账号管理里的管理控制台去查看服务器以及它的一些配置。

如果你有较好的芝麻信用分记录且还没有 ECS,可以使用:

阿里云免费套餐:

个人新用户可以在 云栖社区聚能聊 获取免费产品邀请码(还有其他丰厚礼品),免费体验 7 款阿里云明星产品六个月的使用资格:https://free.aliyun.com/

企业新用户完成企业认证可以可以费体验 10 款阿里云明星产品六个月的使用资格:https://free.aliyun.com/

教程

RAM 设置

使用 RAM 可以只为一个产品,甚至是一个产品中一个内容设置管理权限,例如我们可以使用 RAM 分配一个只能管理 DNS 的账号,或者分配一个只能管理 DNS 下一个托管的域名的账号。

这样就可以有效的避免因为 AccessKey 泄露而导致的全局风险。希望大家千万不要怕麻烦,经验告诉我,节省这一分钟可能要百倍千倍的还回来!

一、 进入 访问控制(RAM) 创建一个专门为 OSS 准备的用户,一定要记录好 AccessKeyIDAccessKeySecret

image

二、 点击 策略管理,然后点击 新建授权策略

image

三、 直接点击 空白模板,然后输入 授权策略名称 后,输入策略内容如下面:

{
  "Version": "1",
  "Statement": [
    {
      "Action": "alidns:*",
      "Resource": "acs:alidns:*:*:domain/mf8.biz",
      "Effect": "Allow"
    },
    {
      "Action": [
        "alidns:DescribeSiteMonitorIspInfos",
        "alidns:DescribeSiteMonitorIspCityInfos",
        "alidns:DescribeSupportLines",
        "alidns:DescribeDomains"
      ],
      "Resource": "acs:alidns:*:*:*",
      "Effect": "Allow"
    }
  ]
}

注意第六行的"Resource": "acs:alidns:*:*:domain/mf8.biz", domain/mf8.biz 就是需要单独管理的域名,将它换成自己的域名即可。

image

然后点击 新建授权策略 保存

四、 为该用户进行授权

image

选择我我们刚才创建的授权策略就行

image

ok,RAM 的设置到这里就完成了,第一次学习可能要个几分钟,到后面就是一分钟的事情。

其他阿里云产品的 RAM 规则怎么办呢? 搜索: 产品名称 + RAM 就一定有你想要的答案! 如果你想要的产品没有 RAM 权限,可以私信我帮你提。

ACME 设置

OK,现在我们要到 ECS 上进行 ECS 的签发操作了,这里我们使用 Neilpang/acme.sh 作为申请 Let's Encrypt 的免费 ECC 证书。

如果你还不会远程连接阿里云 ECS 可以参考:

【云计算的1024种玩法】使用 DMS 只要一个浏览器轻松搞定运维任务
【云计算的1024种玩法】ECS和轻量应用服务器的远程控制入门

一、运行下面代码下载 acme.sh

git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh

二、 然后申明一下刚才我们通过 RAM 实现的 AccessKey :

export Ali_Key="ADBIkEeexNshGF9t"
export Ali_Secret="E7crn0HT3l11WP87dLF70fN6tmf8biz"

三、 然后就可以开始签发证书了,这句话就是通过 阿里云云解析 的 API 给 mf8.bizwww.mf8.biz 两个域名签发证书:

./acme.sh --issue --dns dns_ali -d mf8.biz -d www.mf8.biz

如果签署 ECC 证书就可以使用:

./acme.sh --issue --dns dns_ali -d mf8.biz -d www.mf8.biz --keylength ec-256

四、 然后等待几分钟,我们可以喝杯咖啡,做个眼保健操,逃~,等待证书的自动签发。

五、 安装一下证书:

./acme.sh  --installcert  -d mf8.biz -d www.mf8.biz   \
        --keypath   /usr/local/openresty/nginx/conf/ssl/mf8.biz.key \
        --fullchainpath /usr/local/openresty/nginx/conf/ssl/mf8.biz.crt \
        --reloadcmd  "systemctl restart openresty"

解释一下:

--installcert 就是签署给那个域名的
--keypath 就是储存 key 文件的路径
--fullchainpath 就是储存 crt 文件的路径
--reloadcmd 就是证书所应用的软件的重启命令,例如我们使用 openresty 作为 Web 软件,那么就输入这个命令,方便以后证书续期后软件自动帮助重启

OK,这样我们就快速获得了一枚 Let's Encrypt 证书

版权声明:本文中所有内容均属于阿里云开发者社区所有,任何媒体、网站或个人未经阿里云开发者社区协议授权不得转载、链接、转贴或以其他方式复制发布/发表。申请授权请邮件developerteam@list.alibaba-inc.com,已获得阿里云开发者社区协议授权的媒体、网站,在转载使用时必须注明"稿件来源:阿里云开发者社区,原文作者姓名",违者本社区将依法追究责任。 如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章