前言
随着互联网的发展,我们对更安全更快速的互联网有了很高的要求,相比大家对网页劫持和网页恶意挂马一定是深恶痛绝了吧,那么怎么杜绝呢?通过 HTTPS 就可以简单有效的杜绝这些行为,当然了,一些高级的劫持手段还是防不胜防。
而且 HTTPS 也有非常多的福利,比如说浏览器的 安全
符号加持,搜索引擎的 SEO 加权等等,如下图的浏览器标识:
如下图的搜索引擎移动加权的 AMP/MIP 技术依赖于 HTTPS:
而 HTTPS 则是依赖于 SSL 证书的,通过对应证书和私钥来实现传输的安全,技术的原理由于篇幅关系就不赘述了大家可以在云栖社区搜索 HTTPS 查看相关文章。
要求 & 收获
需要使用到的产品:
通过本文你将讲学到:
- 使用云解析(DNS)
- 使用访问控制(RAM)
- 使用 ACME 技术
- 快速签发 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 准备的用户,一定要记录好 AccessKeyID
和 AccessKeySecret
二、 点击 策略管理
,然后点击 新建授权策略
三、 直接点击 空白模板
,然后输入 授权策略名称
后,输入策略内容如下面:
{
"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
就是需要单独管理的域名,将它换成自己的域名即可。
然后点击 新建授权策略
保存
四、 为该用户进行授权
选择我我们刚才创建的授权策略就行
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.biz
和 www.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 证书