阿里云
阿里云多端小程序中小企业获客首选
发表主题 回复主题
  • 6190阅读
  • 2回复

[网络/安全]阿里云盾证书服务助力博客装逼成功

级别: 论坛版主
发帖
3414
云币
8980

— 本帖被 不靠谱贝贝 执行取消精华操作(2017-06-08) —
写在开始 FBbaLqgVF{  
ib~i ^_p  
r-yUWIr S  
前段时间网站全部静态文件都上了阿里云CDN,session存储和缓存交给了阿里云Redis,从此也走上了高逼格的道路,并成功装逼了一把。 /V63yzoY  
相关文章: >239SyC-,  
阿里云(企业云解析DNS)让你的博客飞起来 -e_o p'`  
阿里云Redis加速Discuz论坛访问 [cco/=c  
>\w]i*%  
,aa 4Kh  
Q J-|zS.W  
>]_^iD]*t  
t 7o4 aBl"  
B\e*-:pq>  
但是,楼主觉的这还远远不够,在这个信息安全重于泰山的时代。谷歌的搜索和Chrome浏览器,早就 推动往HTTPS协议的过渡,提醒网站明文传输的HTTP“不安全”。同样,Facebook、Twitter也陆续加入了阵营。国内的百度也大魄力推进并规划HTTPS项目,也是希望产业界认识到“HTTP = 不安全”的严重性。 'O\ y7"a  
周围的很多小伙伴们也加入HTTPS的阵营,然而,我等屁民,网站怎么还好意思使用HTTP?(当然,对于我小小的博客而言,有必要么?有必要么?有必要么?哈哈哈,真没必要,真没必要,真没必要)。 gPb.%^p  
0zkMRBe  
HTTPS简介 M=lU`Sm  
~LZrhwVj$  
6>oc,=MV/  
HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。具体是如何进行加密,解密,验证的,且看下图。 4d cm)Xr  
b9m`y*My  
o-7{\%+M  
k sXQ}BE  
Tjq1[Wq  
)G Alj;9A$  
Sk/@w[  
相关环境 af %w|M  
r)>3YM5  
$ P 5K   
操作系统:Linux centos 6.5Web服务器:nginx/1.10.3博客程序:Typecho内容分发:阿里云CDN 6]~/`6Dub  
XsQ81j.  
阿里云证书服务 e15yDwvB  
c:u*-lYmK%  
\fiy[W/k  
常见问题https://help.aliyun.com/knowledge_list_page/42212/2.html OKlR`Vaty  
!p!Qg1O6o  
7@%qm|i>w  
不要感谢我 请叫我雷锋。 &:&l+  
wbAwmOiZ  
^tGAJ_b 79  
Pz{MYw  
z$R&u=J  
申请SSL证书 "Gp Tmu?  
V 97ORI  
Qe>_\-f  
阿里云控制台-安全(云盾)-证书服务。 '`2'<^yO  
cB){b'WJ  
J<"K`|F  
点击右上角的购买证书即可,这里大家可以选择免费型DV SSL。免费数字证书,最多保护一个明细子域名,不支持通配符,一个阿云帐户最多签发20张免费证书。证书品牌:赛门铁克是 SSL/TLS 证书的领先提供商,为全球一百多万台网络服务器提供安全防护。选择赛门铁克后,证书颁发机构 (CA) 将妥善保护您的网站和信誉,让您安枕无忧。 d{JI] !  
t3Gy *B  
[mu8V+8@d4  
A;Y~Hu4KPZ  
j0}wv~\  
@i!+Z  
)/@KdEA:  
好了,至于如何购买,如何签发,这里就不做过多的介绍。傻瓜操作,跟淘宝下单一样,老太太都会。当然,这里要注意的一点是,证书不会立即签发,配置好以后,需要稍等片刻(一般10-30分钟的样子,有时候更快)。 mc%. 8i  
iv_3R}IbX  
配置SSL证书 ,--#3+]XU  
81x/ bx@L%  
5@%Gq)z5  
推送CDN =Pw{1m|k  
|.$B,cEd  
" $farDDoF  
由于使用了阿里云的CDN,阿里云证书也提供了相关的推送服务。点击列表推送按钮,如下: -%MXt  
\99'#]\_/E  
!AE;s}v)0{  
OP=brLGu0  
/kG?I_z  
xbhHP2F |  
下载证书 PWl;pBo  
i=#\`"/  
^UKY1Q .  
阿里云为各种Web服务器都提供了相应的证书,点击列表下载,如下: g]L8Jli  
*Ci&1Mu^Z  
P_0X+Tz  
eR5q3E/;G  
S y <E@1  
`PtB2,?  
配置Nginx ?GNR ab  
153*b^iDBh  
cI8\d 4/py  
上传证书到执行目录,由于是针对Typecho博客程序的一些伪静态配置,可能不尽相同,如下是相关conf配置: @4*eH\3  
*(yw6(9%  
w,j!%N  
  1. server{
  2.         #监听的443端口
  3.         listen 443;
  4.         server_name blog.52itstyle.com;
  5.         index index.php;
  6.         ssl on;
  7.         #证书路径 星号替换成自己的就ok
  8.         ssl_certificate    /usr/local/nginx/cert/2140******80632.pem;
  9.         #私钥路径
  10.         ssl_certificate_key   /usr/local/nginx/cert/2140******0632.key;
  11.         #缓存有效期
  12.         ssl_session_timeout 5m;
  13.         #可选的加密算法,顺序很重要,越靠前的优先级越高.
  14.         ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  15.         #安全链接可选的加密协议
  16.         ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  17.         ssl_prefer_server_ciphers on;
  18.         root /mnt/www/domains/blog.52itstyle.com;
  19.         error_page  404               /404.html;
  20.         #Custom rules Start
  21.        if (-f $request_filename/index.html){
  22.             rewrite (.*) $1/index.html break;
  23.        }
  24.        if (-f $request_filename/index.php){
  25.            rewrite (.*) $1/index.php;
  26.        }
  27.        if (!-f $request_filename){
  28.           rewrite (.*) /index.php;
  29.        }    
  30.        #Custom rules End
  31.        location = /500.html {
  32.           root   /usr/share/nginx/html;
  33.        }
  34.        location ~ \.php$ {
  35.           fastcgi_pass 127.0.0.1:9000;        
  36.           include        fastcgi_params;
  37.           fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  38.           access_log     /usr/local/nginx/logs/blog.52itstyle.com.access.log main;
  39.       }
  40.       location ~ /\.ht {
  41.          deny  all;
  42.       }
  43. }
!%t@wQ]\hG  
<Rw2F?S~)n  
Typecho设置 VO:  
F~eYPaEKy!  
1VFCK&  
登录Typecho后台 -> 设置 -> 基本设置 -> 站点地址改成https的域名是必须的。 }|Q\@3&  
/7S g/d%c  
@*xP A  
编辑Typecho站点根目录下的文件config.inc.php加入下面一行配置,否则网站后台还是会调用HTTP资源。 H?r~% bh  
:dbO|]Xf  
THOYx :Nr;  
  1. /** 开启HTTPS */
  2. define('__TYPECHO_SECURE__',true);
\\ R<HuTY  
由于Chrome浏览器对HTTPS要求较高,其他浏览器已经显示小绿锁,但是Chrome还是有警告提示。这时候你只需F12查看,如果存在url连接还是http请求谷歌下就不会显示小绿锁。
  • V_$<^z|  
    如果使用了第三方模版,登录Typecho后台 ->控制台-> 外观 ->设置外观 -> cdn镜像地址改成https的域名。
  • [AFR \{  
    如果你使用的是原生评论,评论表单的action地址还是HTTP,找到站点主题目录下的comments.php文件,并搜索$this->commentUrl(),将其替换为:echo str_replace(“http”,”https”,$this->commentUrl()); 最后保存(还好使用的是畅言,已经接入HTTPS了)。
  • 3 +'vNc  
    阿里云的CDN 400地址居然是HTTP,显然不符合要求,暂时去掉了。
  • qmn l  
    文章中的图片地址居然是绝对路径,由于以前是HTTP,所以还要替换一下数据库部分内容,执行以下语句(替换成己的URL即可)
R$u1\r1I  
  1. UPDATE `blog`.`typecho_contents`  SET TEXT=REPLACE (TEXT,'http://blog.52itstyle.com','https://blog.52itstyle.com') ;
? }ff O  
 rwSR  
HTTP重定向到HTTPS Y]6d Yq{k  
|a7Kn/[`,  
.u&X:jOE  
好了,到此为止,重启Nginx,你的网站已经可以跑在HTTPS上面了。但是这样HTTP的方式还是可以访问的,我们可以通过WEB服务器(Ningx)将80端口(HTTP)重定向到443端口(HTTPS),强制全站HTTPS。当然,本人并没有配置成功,不是无法访问就是重定向次数过多,不知道是否与CDN有关?逗比了不想捯饬了,如有人配置成功,敬请告之。 E]vox~xK>  
_M8'~$Sg  
a6h+?Q7uF  
目前的解决方案,在公用header.php中添加如下JS代码: -XnIDXM  
tIV9Y=ckr0  
 l2M(  
  1. <script type="text/javascript">  
  2. var url = window.location.href;
  3.               if (url.indexOf("https") < 0) {
  4.                   url = url.replace("http:", "https:");
  5.                   window.location.replace(url);
  6.               }
  7. </script>
,\+N}F^  
配置成功 PQ_A^95  
b~<V}tJ  
6j1C=O@S  
按照以上流程,基本不会出现问题了,清除浏览器缓存访问下自己的网站,浏览器会显示安全的小绿锁标识。 TT;ls<(Lg  
Zonn  
}vP(SF 6  
y~OP9Tg  
WyB^b-QmDh  
a)S6Z  
.*"KCQGOgM  
_'y`hKeI[  
好了,配置成功以后,有没有一种被绿绿的感觉? Fku<|1}&y  
/i_FA]Go  
<7Yh<(R e^  
EcytNYn  
Hv' OO@z  
假装有网址:https://blog.52itstyle.com #_3ZF"[zq  
[ 此帖被小柒2012在2017-06-07 18:39重新编辑 ]
本帖最近评分记录: 1 条评分 云币 +1
小猪猪 云币 +1 你懂的! 2017-06-08
级别: 新人
发帖
3
云币
16
只看该作者 沙发  发表于: 2017-06-08
Re阿里云盾证书服务助力博客装逼成功
装逼 成功 大神 带我飞
级别: 新人
发帖
9
云币
42
只看该作者 板凳  发表于: 2017-06-10
Re阿里云盾证书服务助力博客装逼成功
假装有网址
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
验证问题: ECS是阿里云提供的什么服务? 正确答案:云服务器
上一个 下一个
      ×
      全新阿里云开发者社区, 去探索开发者的新世界吧!
      一站式的体验,更多的精彩!
      通过下面领域大门,一起探索新的技术世界吧~ (点击图标进入)