实现秒开1Mbps带宽的NAS上的网站

无感访问:

自建的NAS上,无IPv4公网IP,有IPv6地址; 安装了wordpress,做个网站。

如何让所有人无感的访问自己的站点呢?

那么必定是内网穿透(隧道模式)。

因为家庭宽带是不给开80、443端口的, 所以哪怕有公网IP,并且使用DDNS到自己的服务器,也必须带着其他的端口号。

所以需要自建一个内网穿透的中转站,或者直接购买从穿透服务商哪里买个服务。可参考:

常用的内网穿透服务商及内网穿透软件

好了,现在有了个1Mbps的小水管,外网可以无感的访问了。 但是打开网站太慢了,需要10秒以上。如何实现秒开呢?

实现秒开:

为了解决这个问题,我们需要上CDN,方案当然是白嫖了。  

这里以笔者的小破站,全程https(证书白嫖),CDN使用的七牛云,为例:

基本信息:

主站:https://rangotec.com

CDN:  https://cdn.rangotec.com

第一步:申请HTTPS证书,本文不再描述,各大厂商都有。

第二步:在七牛云上绑定申请的cdn子域名。打开对象存储 -> 空间管理 -> 添加域名。

添加 cdn 子域名时,把第一步下载的证书复制进来即可。

第三步: 配置镜像回源,七牛云上打开对象存储 -> 空间管理 -> 空间设置。 翻到最底部,有个镜像回源。

这一步的目的是自动把站点上的js、css、image同步到七牛云的cdn上。

第四步: 在wordpress上安装【 WP Super Cahce 】 插件。

注意必须先启用缓存功能,它的CDN才会生效,启用方式如下,【 WP Super Cahce 】-> 通用 -> 启用缓存功能。

然后打开 CDN选项卡, 勾选开启CDN支持, 在【 Off-site URL】 里填写 https://cdn.rangotec.com ,如下图位置

至此操作完毕,是否达到了秒开的目的呢? 我们验证下。

效果验证:

chrome 浏览器进入开发者模式,关闭缓存, 打开我们的网站,如下图:

此时主站dom文档是从服务器上获取,53ms,然后下面的css、js、图片等均来自CDN镜像,多次测试平均打开时间不到1秒。

 

注意:

第一次打开时,cdn镜像上是没有这些文件的,此时CDN的镜像回源就起作用了, 发现自己没有该静态文件或已超期,那么就去主站上拉取这些文件,再返回给客户端。 具体原理见下图

如果启用流量分析的话,关于如何获取客户端源IP的方法,参考这篇文章:

Haproxy搭配NPS内网穿透,获取客户端的源IP - NAS、私有云、服务器DIY (rangotec.com)

 

 

 

评论列表: