昨天看到 v2 上有人反代谷歌,我想反代一下推特试试,但是搞了一天没有成功。
失败原因:首页代理成功,但是静态资源的链接并不是twitter.com
这个域,而是 abs.twimg.com
等类似的。
搜索资料发现用了subs_filter
这个 Nginx 模块来替换网页中的东西,但是安装后发现并没有效果。
现在情况:首页反代成功,静态资源链接未能替换导致请求不到。
问:1. 这个模块是否有可以替换网页内容的功能(去 github 发现 2y 前更新的,issue 也都没管,大带宽服务器资料很少)
2. 是否有其他模块可以做到这个功能
3. 是否需要用 lua 来自己搞下网站内容
4. 怎么学 lua
附配置文件:
location / {
proxy_buffer_size 128k;
proxy_buffers 32 64k;
proxy_busy_buffers_size 256k;
proxy_set_header Host twitter.com;
proxy_set_header Refer twitter.com;
subs_filter_types text/html text/css text/javascript;
subs_filter 'pbs.twimg.com' 'example.com/pbs';
subs_filter 'abs.twimg.com' 'example.com/abs';
subs_filter 't.co' 'example.com/t.co';
proxy_pass https://Twitter;
}
...
试试把这些加到本地 hosts 里
104.244.46.148 cdn.syndication.twimg.com
104.244.46.148 m1.twitpic.com
104.244.46.148 twitpic.com
104.244.46.148 web1.twitpic.com
104.244.46.148 web10.twitpic.com
104.244.46.148 web2.twitpic.com
104.244.46.148 web3.twitpic.com
104.244.46.148 web4.twitpic.com
104.244.46.148 web5.twitpic.com
104.244.46.148 web6.twitpic.com
104.244.46.148 web7.twitpic.com
104.244.46.148 web8.twitpic.com
104.244.46.148 web9.twitpic.com
104.244.43.135 abs.twimg.com
104.244.43.135 g.twimg.com
104.244.43.135 image-proxy-origin.twimg.com
104.244.43.135 ma.twimg.com
104.244.43.135 o.twimg.com
104.244.43.135 p.twimg.com
104.244.43.135 pbs.twimg.com
104.244.43.135 r.twimg.com
104.244.43.135 syndication-o.twimg.com
104.244.43.135 syndication.twimg.com
104.244.43.135 ton.twimg.com
104.244.43.135 video.twimg.com
umm,谢谢啊,但是目的是搞一下 nginx。
subs_filter 需要关闭 gzip 压缩
你反代的时候源站返回的是 gzip 之后的数据,然后直接拿去替换显然毛都查找不到。
除了在请求源站的时候强行关掉 gzip,更好的解决思路是这个: https://www.v2ex.com/t/234923
多谢
你搞反代不比用$$危险?
怎么感觉和我 n 年前反代 u2b 一样。。
https://gist.github.com/1179bc703d0683e247a4828ecb4a1ee6
如果上了 ssl 的话,然后限制下站点访问,可能这个会更安全
楼主被封了没?
。。。几年前的玩具,早就不在跑了