免翻墙访问googlesheet发布内容
免翻墙访问googlesheet发布内容,我之前用过两种方法,最近又想出来一种,一起记录一下。
1.反向代理。
如果有一台国外的服务器,在国内能ping通,可以在上面装个宝塔面板,然后按下面步骤操作:
安装nginx—>设置一个站点—>添加一个自己的域名—>一键申请证书开启ssl—>开启反向代理
那么把googlesheet发布的链接中docs.google.com换成自己设置的域名就可以访问了。
2.直接抓取图片。
直接把站点建在国内能ping通的国外服务器上,通过服务器的定时任务执行一个sh文件,用wget把googlesheet发布的图片保存到服务器。
这个方法中,有几点经验。
第一,wget -O可以重命名文件。
第二,wget下载带有特殊符号的长链接会出错,可以先把发布的长链接转成短链接。
第三,如果10分钟抓取一次,那么等于本地图片更新一次,blog插入的本地图片可以在url后加入时间戳,来强制刷新缓存。
第四,有较小几率wget抓取失败,抓取时候可以抓两个图,一个备用,如果1图访问不了,就访问2图,这样就很稳定。
3.使用CDN服务。
现在很多cdn都是免费的,比如cloudflare、cloudfront、gcore,其中比较推荐cloudfront。
以cloudfront为例,创建分配,
各项设置如下:
源域:docs.google.com
协议: 仅 HTTPS
查看器协议策略: HTTPS only
缓存键和源请求: Legacy cache settings, 标题=无,查询字符串=全部,Cookie=全部
对象缓存: Customize,最短 TTL=0,最长 TTL=0,默认 TTL=0
下图所示的这一段设置比较关键,不改的话,按默认设置就没法成功。
备用域名: 填一个自己的域名
自定义 SSL 证书:点申请证书为上面的备用域名申请证书,完成cname验证,把aws给的证书选上
创建好之后,把上面填的域名,cname解析到分配给你的xxxxx.cloudfront.net上就行了。
接下来把googlesheet发布的链接中docs.google.com换成自己设置的域名就可以访问了。
(这里还有个小技巧,如果进行了优选IP,参考FQ,可以取消cname解析,直接把备用域名设置A记录指向优选ip,正常使用,速度会快一些)
再记录一下另一个CDN,gcore的设置,稍微简单一些。
点Creat CDN resource,
Acceleration and protection type:Accelerate and protect only static assets