源站在国外外,站点内嵌了一个Twitter Timeline
,加载了 https://platform.twitter.com/widgets.js
,这个 js 里面又有好几个域名用于加载 twitter 相关的资源。
大陆用户访问站点会转圈圈。
自己想过的方案:
widgets.js
里面加载到的域名widgets.js
中的域名为反代之后的域名,然后把widgets.js
放在反代服务器上widgets.js
但首先不知道 Twitter 有没有啥限制,其次也不可能一直跟着 Twitter 的更新widgets.js
~
前端 Nuxt.js 后端 Java~
求问下各位大哥有啥方案吗~
![]() |
1
learningman 314 天前
写一个 wrapper 加载 widgets.js ,在这个 wrapper 里重载 fetch 和 xhr 。开一个 sni 反代服务器,限制 referer ,重载以后的 fetch 和 xhr 把请求指向这个反代服务器。
当然 sni 也可以换成按路径加载,这个都是具体实现,大概是这么个思路 |
![]() |
2
ysc3839 314 天前 via Android
如果那个 js 不是在页面里塞一个 iframe 的话,也许可以用 Service Worker 拦截请求?
|
3
terranboy 314 天前
用 TWITTER 提供的 API 自己实现一个? 不要用他的 JS
|
![]() |
4
andj4cn 314 天前
借贴,请教一下大家,国内有没有在静态网页上嵌入推文的这种方案?
我这边有个在静态页面嵌入 twitter 推文的想法,但是国内访问不到,所以想嵌入微博这种,自己发微博的时候静态页面上的相关位置自动更新新的微博内容。类似于这样 https://www.antlr.org/ 调研了下微博,发现微博早年支持这样,现在不支持内嵌了。。。 请教大家有没有其他这样的成熟的方案? |
![]() |
5
captainm OP @learningman 很好的思路!感谢!
|
![]() |
7
reorx 314 天前 via iPhone
我的网站在国外但是把推文静态化嵌入了,因此不再依赖页面上访问 twitter 的资源,示例可以看网站最近几篇文章的页尾 https://reorx.com/blog/reinitiate-rss-reader/
实现上就是 @terranboy 的方案,在静态构建时通过推文 id 把数据获取下来生成 html |
![]() |
8
ragnaroks 314 天前
反代成本较高,自己实现比较好,按我的理解 CF 的云函数就够用
|
![]() |
9
captainm OP @reorx 推文的话是可以静态化,我是嵌了 Tweets Timeline ,动态加载的 o.0 ,目前 1 楼的思路似乎是一个可行的方案,找时间验证一下。
|
![]() |
10
captainm OP @ragnaroks 用云函数加载推文,然后静态化吗? 但我嵌入的是动态的 Tweets Timeline 欸,推特 js 里面又有好几个加载资源的域名,想了下似乎只有反代方案~
|
![]() |
13
reorx 314 天前 via iPhone
CF workers 很好可惜国内现在访问也不行了
|