阿里云名词太多,大家能不用就不用吧,连这种教程还要我来写,真妮玛坑。
1、购买虚拟主机、可以用他的域名解析免费的,好,举个例子,www.abc.com和abc.com都可以访问了。
2、登录控制台->产品服务->云盾->证书服务->购买证书->免费证书,0元购买后,填入域名和信息即可,端口选80,不能选443(必须选80,这个大坑后面讲)。注意www.abc.com和abc.com是2个域名,需要分别购买。
3、产品服务->云基础计算->CDN,有个域名列表,把想要做https的域名都填进去。填完可以点击“管理”->"HTTPS安全加速"->启用,然后里面证书就选刚才买的对应的名字(在证书页面有2个tab,点到 '我的证书' 才可以看到对应的名字),跳转类型随意,比如“默认”,或者强制转换为https,中间那个https->http就没卵用了。
4、最后一步,你可以看到cdn的域名列表里有CNAME,没错,这就是要重新放到你的域名解析里面了。好我们去到域名解析后台填入这个CNAME。
然后你就会发现,CNAME WWW与A WWW,CNAME @与A @是冲突的!还有与MX @也是冲突的,草。
也就意味着,如果用https://abc.com,那么A @/MX @必须删除,这样你就收不到邮件了,是不是很郁闷啊?这是个大坑吧。
好了,我来告诉你:如果你要用同域名的邮件,那么就不要填入CNAME @,保留给A @和MX @就好了,只要填入CNAME WWW。
然后,就可以尽情享受https://www.abc.com啦,但是https://abc.com是无法用咯。
5、还有2个大坑:
(1)CDN可是计费的,你最好买个流量包。
https也是计费的,我没写错吧?对没写错,他妈的CDN和https是分开计费的,所以你的余额也必须有,否则3天2头提示你没钱点击https了!
(2)因为上面证书选了80,这样你想在服务器用如下函数判断客户端连接是不行的:
/** * 判断是否SSL协议 * @return boolean */ function is_ssl() { if(isset($_SERVER['HTTPS']) && ('1' == $_SERVER['HTTPS'] || 'on' == strtolower($_SERVER['HTTPS']))){ return true; }elseif(isset($_SERVER['SERVER_PORT']) && ('443' == $_SERVER['SERVER_PORT'] )) { return true; } return false; }
他永远返回80,为毛咧?因为你选了80端口啊,你必须买独立主机才能使用443端口,多花几千块吧,明白了吧?
坑爹的阿里云,还说是飞天系统,我看入地还差不多,鄙视!
==============证书到期后更新证书===============
通过上面的坑,我们再来看证书到期后怎么更新。
1、点击原来的证书,续费,默认免费的续费1年。
2、在新购买的证书列表中,刚开始会提示失败,DNS解析错误。我们点击“进度”,看到有提示需要做TXT记录,好,我们转到域名解析中心,添加TXT @ xxxx之类的解析上去,这个TXT可以叠加,后面过了后删掉就行了。
3、等一会儿再回到证书列表就会显示“已经签发”,切换到‘我的证书’,记录最新的证书名称,类似“cert-1514189673195”。
4、回到CDN的域名列表,点进去->https设置->修改配置->选择最新的证书->确定即可。如果出现 token error错误,那么等一阵子,应该是系统问题。
5、回到域名列表,把刚添加的txt记录去掉也没问题的。
=================证书到期2018阿里有变化了===========
1、2018年阿里云又改了,点击控制台->CDN->选中一个域名的”管理“->https配置:
点修改配置,选择阿里的免费证书
2、改完后显示:
3、完了,这尼玛是有问题的,不会生效!看来我们还是要回去买免费SSL证书。
-----------------20181225更新-------------------
上面说了,自动续费居然是假的,码云尼玛啊!
1、现在回到证书那里,购买2个免费的DV-SSL证书
2、在证书那里,点击“申请”->弹框填入域名,例如www.abc.com,点击“自动”,然后如果用的是阿里云解析,他会自动修改你的域名解析,如果不是,就要改成如下解析状态,注意,主机记录从TXT进化到 _dnsauth了
3、验证成功后,点击提交审核即可:
4、还没完,审核通过后,回到CDN那里,选择已有的证书即可,哎。
-----------------20221128更新-------------------
一年过去了 ,https又失效了,又不知道怎么启用了,哈哈
码云,王坚,你两真是好搭档,搞个https都要写个博客。
首先进ssl证书那里申请一个免费的证书,这回一个证书可以管 bbb.com 和 www.bbb.com 这2个域名了,有进步,表扬下。
然后到虚拟主机->域名管理->域名绑定,有个强制开启https的地方,点开启,选云盾证书,然后选择上面那个就行。
注意:如果选申请免费证书,他会让你死等,对,就是不理你,客服也不知道流程到哪里了,只能让你删掉然后重新绑定。对,王坚就是这么任性!
总的来说流程简化不少,还有待改进。