阿里云又白送服务器
上次白嫖完过了了一段时间后,阿里云又开始白送学生云服务器了。目前有国内的200M轻量服务器,配置2C 2G 40G,半年270元,300元的学生代金券刚好可以白嫖。而如果是买境外的轻量服务器,也是200M的轻量,配置差点,2C 0.5G 20G,一年336元,300元的学生代金券还要另外自掏腰包36元才能拿下。
如果说速度都能达标的话,我确实更愿意多花36块钱买个境外的云服务器,这样也不需要备案,拿来分发静态资源也很不错。但是现实的问题是:阿里云的境外云服务器,特别是200M的,速度都不咋地,甚至出现实际使用体验还不如华为云30M的情况。
我去年7月份买过一个一年的阿里云日本(东京)的服务器,应该已经是当时阿里云境外服务器国内访问速度最高的了,延迟确实比较低,但是限速QoS很严重,实际测试下来速度不达标,只能大概跑到3M的速度,可以说是拉完了。
其次,我的云服务器基本上都是境外服务器,其实也不缺服务器用,但是这300的代金券不用的话我感觉浑身难受,于是就再次买了阿里云资源容量较大的杭州地区的200M云服务器,用来分发内容。
国内的云服务器只会拦截未备案的域名,但是,如果是直接IP访问或者有备案域名就没问题。如果只是单纯用IP来访问静态资源的话,我觉得这确实是多此一举,因为我的静态资源都是走的国内OSS,速度没得说,我希望解决的是国外静态资源访问慢的问题:因为跨境拥堵那是日常。所以,这一次我想玩玩域名分开地域解析。
借一个备案域名
既然要这么玩,那备案域名就是必须的。我从我的友链借来了ciy.cool的子域名neko.ciy.cool用于静态资源的分发,具体的借法是通过CNAME记录绑定到我的域名cdn.nekowork.org,让我自己可以解析。
然后,在华为云的解析中对境内外进行分流:
- 境内:添加A记录,指向阿里云的200M轻量服务器
- 境外:添加CNAME记录,指向Cloudflare上开了SaaS自定义主机名的域名
配置服务器
需要配置的服务器有两台:阿里云的轻量服务器和之前的华为云服务器。只需要把主题要用的资产文件夹上传到服务器,并且配置好Nginx提供服务就可以了,很简单。
两个云服务器的配置文件基本上是一样的:
server {
listen 443 ssl;
server_name neko.ciy.cool;
ssl_certificate /data/certs/ciy.cool.pem;
ssl_certificate_key /data/certs/ciy.cool.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers HIGH:!aNULL:!MD5;
root /data/website_CDN;
index index.html index.php;
location / {
try_files $uri $uri/ /index.html /index.php?$args;
}
# PHP processing
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# Deny access to hidden files
location ~ /\.ht {
deny all;
}
add_header 'Access-Control-Allow-Origin' '*' always;
}这里注意要添加add_header 'Access-Control-Allow-Origin' '*' always;防止浏览器报CORS错误。
配置Cloudflare缓存策略
因为是静态资源,所以直接在Cloudflare里面把缓存策略拉满,对于常见的.zip,.js,.css,.wav,.woff2等主题需要用到的静态资源,直接设置缓存TTL为一年,节省服务器的带宽,降低延迟,这点主要是针对国外访问的情况。
同时,记得配置Cloudflare回源的要是国外的服务器,不然跨境流量容易堵。
配置主题的静态资源设置
因为我的NekoEcho主题已经设置过全局配置静态资源CDN的功能了,最后直接把静态主题网址设置为:https://neko.ciy.cool/assets/就可以了。
另外,我还同步把随机图片的API放到上面了,可以节省请求的时间。
不过,一波操作之后,我感觉在国内的打开速度没有什么提升,因为原来的OSS已经够快了。国外似乎有一点改善,但不多。
希望这个文章可以给那些域名无法备案(或者不想备案),希望提升国内访问速度的网站一些参考。