github.com树大招风,国内时不时就不能访问,连里面的Gist也有问题。
WordPress有一个Gist的embed插件,但是这个插件是直接引入Gist的script,这个script是通过document.write()阻塞方式,在当前DOM位置插入Gist定制的内容。
所以,国内访问我博客,如果谋篇文章引用了Gist上面的内容,访问就会被拦掉了。
研究了下Nginx反向代理,用了一个子域名来承载各种代理资源,用一级目录来区分反向代理站点,世界一下子安静了。
整个优化改造过程没WordPress什么事,用Nginx的ngx_http_proxy_module模块做目标站点反向代理,用Nginx的ngx_http_sub_module模块来替换页面中gist.github.com关键字。
折腾一番,Nginx能力又提升了,哈哈。
现在打开还是有点慢,因为代理每次都要重新请求,由于Gist的资源是会更新的,不能直接暴力缓存,还得想想怎么去缓存这种动态数据。