阿里云助力博客""装逼""成功
2017-06-08 13:34
281 查看
原文链接
前段时间网站全部静态文件都上了阿里云CDN,session存储和缓存交给了阿里云Redis,从此也走上了高逼格的道路,并成功装逼了一把。
相关文章:
阿里云(企业云解析DNS)让你的博客飞起来
阿里云Redis加速Discuz论坛访问
但是,楼主觉的这还远远不够,在这个信息安全重于泰山的时代。谷歌的搜索和Chrome浏览器,早就
推动往HTTPS协议的过渡,提醒网站明文传输的HTTP“不安全”。同样,Facebook、Twitter也陆续加入了阵营。国内的百度也大魄力推进并规划HTTPS项目,也是希望产业界认识到“HTTP = 不安全”的严重性。
周围的很多小伙伴们也加入HTTPS的阵营,然而,我等屁民,网站怎么还好意思使用HTTP?(当然,对于我小小的博客而言,有必要么?有必要么?有必要么?哈哈哈,真没必要,真没必要,真没必要)。
HTTPS简介
HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。具体是如何进行加密,解密,验证的,且看下图。
相关环境
操作系统:Linux centos 6.5Web服务器:nginx/1.10.3博客程序:Typecho内容分发:阿里云CDN
阿里云证书服务
常见问题:https://help.aliyun.com/knowledge_list_page/42212/2.html
不要感谢我 请叫我雷锋。
申请SSL证书
阿里云控制台-安全(云盾)-证书服务。
点击右上角的购买证书即可,这里大家可以选择免费型DV SSL。免费数字证书,最多保护一个明细子域名,不支持通配符,一个阿云帐户最多签发20张免费证书。证书品牌:赛门铁克是
SSL/TLS 证书的领先提供商,为全球一百多万台网络服务器提供安全防护。选择赛门铁克后,证书颁发机构
(CA) 将妥善保护您的网站和信誉,让您安枕无忧。
好了,至于如何购买,如何签发,这里就不做过多的介绍。傻瓜操作,跟淘宝下单一样,老太太都会。当然,这里要注意的一点是,证书不会立即签发,配置好以后,需要稍等片刻(一般10-30分钟的样子,有时候更快)。
配置SSL证书
推送CDN
由于使用了阿里云的CDN,阿里云证书也提供了相关的推送服务。点击列表推送按钮,如下:
下载证书
阿里云为各种Web服务器都提供了相应的证书,点击列表下载,如下:
配置Nginx
上传证书到执行目录,由于是针对Typecho博客程序的一些伪静态配置,可能不尽相同,如下是相关conf配置:
复制代码
server{
#监听的443端口
listen 443;
server_name blog.52itstyle.com;
index index.php;
ssl on;
#证书路径 星号替换成自己的就ok
ssl_certificate /usr/local/nginx/cert/2140******80632.pem;
#私钥路径
ssl_certificate_key /usr/local/nginx/cert/2140******0632.key;
#缓存有效期
ssl_session_timeout 5m;
#可选的加密算法,顺序很重要,越靠前的优先级越高.
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#安全链接可选的加密协议
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
root /mnt/www/domains/blog.52itstyle.com;
error_page 404 /404.html;
#Custom rules Start
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
#Custom rules End
location = /500.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
access_log /usr/local/nginx/logs/blog.52itstyle.com.access.log main;
}
location ~ /\.ht {
deny all;
}
}
Typecho设置
登录Typecho后台 -> 设置 -> 基本设置 -> 站点地址改成https的域名是必须的。
编辑Typecho站点根目录下的文件config.inc.php加入下面一行配置,否则网站后台还是会调用HTTP资源。
复制代码
/** 开启HTTPS */
define('__TYPECHO_SECURE__',true);
由于Chrome浏览器对HTTPS要求较高,其他浏览器已经显示小绿锁,但是Chrome还是有警告提示。这时候你只需F12查看,如果存在url连接还是http请求谷歌下就不会显示小绿锁。
如果使用了第三方模版,登录Typecho后台 ->控制台-> 外观 ->设置外观 -> cdn镜像地址改成https的域名。
如果你使用的是原生评论,评论表单的action地址还是HTTP,找到站点主题目录下的comments.php文件,并搜索$this->commentUrl(),将其替换为:echo str_replace(“http”,”https”,$this->commentUrl()); 最后保存(还好使用的是畅言,已经接入HTTPS了)。
阿里云的CDN 400地址居然是HTTP,显然不符合要求,暂时去掉了。
文章中的图片地址居然是绝对路径,由于以前是HTTP,所以还要替换一下数据库部分内容,执行以下语句(替换成自己的URL即可)
复制代码
UPDATE `blog`.`typecho_contents` SET TEXT=REPLACE (TEXT,'http://blog.52itstyle.com','https://blog.52itstyle.com') ;
HTTP重定向到HTTPS
好了,到此为止,重启Nginx,你的网站已经可以跑在HTTPS上面了。但是这样HTTP的方式还是可以访问的,我们可以通过WEB服务器(Ningx)将80端口(HTTP)重定向到443端口(HTTPS),强制全站HTTPS。当然,本人并没有配置成功,不是无法访问就是重定向次数过多,不知道是否与CDN有关?逗比了不想捯饬了,如有人配置成功,敬请告之。
目前的解决方案,在公用header.php中添加如下JS代码:
复制代码
<script type="text/javascript">
var url = window.location.href;
if (url.indexOf("https") < 0) {
url = url.replace("http:", "https:");
window.location.replace(url);
}
</script>
配置成功
按照以上流程,基本不会出现问题了,清除浏览器缓存访问下自己的网站,浏览器会显示安全的小绿锁标识。
好了,配置成功以后,有没有一种被绿绿的感觉?
假装有网址:https://blog.52itstyle.com
原文链接
前段时间网站全部静态文件都上了阿里云CDN,session存储和缓存交给了阿里云Redis,从此也走上了高逼格的道路,并成功装逼了一把。
相关文章:
阿里云(企业云解析DNS)让你的博客飞起来
阿里云Redis加速Discuz论坛访问
但是,楼主觉的这还远远不够,在这个信息安全重于泰山的时代。谷歌的搜索和Chrome浏览器,早就
推动往HTTPS协议的过渡,提醒网站明文传输的HTTP“不安全”。同样,Facebook、Twitter也陆续加入了阵营。国内的百度也大魄力推进并规划HTTPS项目,也是希望产业界认识到“HTTP = 不安全”的严重性。
周围的很多小伙伴们也加入HTTPS的阵营,然而,我等屁民,网站怎么还好意思使用HTTP?(当然,对于我小小的博客而言,有必要么?有必要么?有必要么?哈哈哈,真没必要,真没必要,真没必要)。
HTTPS简介
HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。具体是如何进行加密,解密,验证的,且看下图。
相关环境
操作系统:Linux centos 6.5Web服务器:nginx/1.10.3博客程序:Typecho内容分发:阿里云CDN
阿里云证书服务
常见问题:https://help.aliyun.com/knowledge_list_page/42212/2.html
不要感谢我 请叫我雷锋。
申请SSL证书
阿里云控制台-安全(云盾)-证书服务。
点击右上角的购买证书即可,这里大家可以选择免费型DV SSL。免费数字证书,最多保护一个明细子域名,不支持通配符,一个阿云帐户最多签发20张免费证书。证书品牌:赛门铁克是
SSL/TLS 证书的领先提供商,为全球一百多万台网络服务器提供安全防护。选择赛门铁克后,证书颁发机构
(CA) 将妥善保护您的网站和信誉,让您安枕无忧。
好了,至于如何购买,如何签发,这里就不做过多的介绍。傻瓜操作,跟淘宝下单一样,老太太都会。当然,这里要注意的一点是,证书不会立即签发,配置好以后,需要稍等片刻(一般10-30分钟的样子,有时候更快)。
配置SSL证书
推送CDN
由于使用了阿里云的CDN,阿里云证书也提供了相关的推送服务。点击列表推送按钮,如下:
下载证书
阿里云为各种Web服务器都提供了相应的证书,点击列表下载,如下:
配置Nginx
上传证书到执行目录,由于是针对Typecho博客程序的一些伪静态配置,可能不尽相同,如下是相关conf配置:
复制代码
server{
#监听的443端口
listen 443;
server_name blog.52itstyle.com;
index index.php;
ssl on;
#证书路径 星号替换成自己的就ok
ssl_certificate /usr/local/nginx/cert/2140******80632.pem;
#私钥路径
ssl_certificate_key /usr/local/nginx/cert/2140******0632.key;
#缓存有效期
ssl_session_timeout 5m;
#可选的加密算法,顺序很重要,越靠前的优先级越高.
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#安全链接可选的加密协议
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
root /mnt/www/domains/blog.52itstyle.com;
error_page 404 /404.html;
#Custom rules Start
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
#Custom rules End
location = /500.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
access_log /usr/local/nginx/logs/blog.52itstyle.com.access.log main;
}
location ~ /\.ht {
deny all;
}
}
Typecho设置
登录Typecho后台 -> 设置 -> 基本设置 -> 站点地址改成https的域名是必须的。
编辑Typecho站点根目录下的文件config.inc.php加入下面一行配置,否则网站后台还是会调用HTTP资源。
复制代码
/** 开启HTTPS */
define('__TYPECHO_SECURE__',true);
由于Chrome浏览器对HTTPS要求较高,其他浏览器已经显示小绿锁,但是Chrome还是有警告提示。这时候你只需F12查看,如果存在url连接还是http请求谷歌下就不会显示小绿锁。
如果使用了第三方模版,登录Typecho后台 ->控制台-> 外观 ->设置外观 -> cdn镜像地址改成https的域名。
如果你使用的是原生评论,评论表单的action地址还是HTTP,找到站点主题目录下的comments.php文件,并搜索$this->commentUrl(),将其替换为:echo str_replace(“http”,”https”,$this->commentUrl()); 最后保存(还好使用的是畅言,已经接入HTTPS了)。
阿里云的CDN 400地址居然是HTTP,显然不符合要求,暂时去掉了。
文章中的图片地址居然是绝对路径,由于以前是HTTP,所以还要替换一下数据库部分内容,执行以下语句(替换成自己的URL即可)
复制代码
UPDATE `blog`.`typecho_contents` SET TEXT=REPLACE (TEXT,'http://blog.52itstyle.com','https://blog.52itstyle.com') ;
HTTP重定向到HTTPS
好了,到此为止,重启Nginx,你的网站已经可以跑在HTTPS上面了。但是这样HTTP的方式还是可以访问的,我们可以通过WEB服务器(Ningx)将80端口(HTTP)重定向到443端口(HTTPS),强制全站HTTPS。当然,本人并没有配置成功,不是无法访问就是重定向次数过多,不知道是否与CDN有关?逗比了不想捯饬了,如有人配置成功,敬请告之。
目前的解决方案,在公用header.php中添加如下JS代码:
复制代码
<script type="text/javascript">
var url = window.location.href;
if (url.indexOf("https") < 0) {
url = url.replace("http:", "https:");
window.location.replace(url);
}
</script>
配置成功
按照以上流程,基本不会出现问题了,清除浏览器缓存访问下自己的网站,浏览器会显示安全的小绿锁标识。
好了,配置成功以后,有没有一种被绿绿的感觉?
假装有网址:https://blog.52itstyle.com
原文链接
相关文章推荐
- 阿里云盾证书服务助力博客装逼成功
- C#编写的winform程序绑定comboBox成功,添加一个默认的文字选项"请选择"
- 阿里云数加助力东润环能开启新能源大数据时代
- Serverless理念的弄潮儿—— 阿里云数加平台助力大数据普惠
- sql server2008 搭建链接服务器成功后查询时报Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider "SQLNCLI10" for linked server "XXXXX". 的解决方法
- (求助)用傲游上csdn博客时标签栏和网址栏一直显示"袁萌" 的头像
- 三次"博客"门派之争--转自南方周末
- "成功”无止境
- 再论"业余"和"专业"--致力职业化 提高成功力
- 助力全站WebP ,阿里云云上FPGA 团队发布 WebP图片解决方案
- * 没有vista的"失败"就没有WIN7的"成功"! *
- 助力APP尽情“撒币”!阿里云正式上线移动直播问答解决方案
- 我(撞破南墙)参加"博客无双"的文章以及参加的原因(2010年12月05日update)
- Deepmind "预测地图"论文背后:神经科学或将助力AI迎来新突破
- JS function document.onclick(){}报错Syntax error on token "function", delete this token - CSDN博客
- 【转】"已成功与服务器建立连接,但是在登录前的握手期间发生错误"问题解决方案
- 阿里云搭建个人博客
- 阿里云1218,百亿资本助力开发者
- 阿里云云服务器ECS使用WordPress博客平台镜像版本操作过程