最近由于天气原因,Google在国内的访问受到了严重的干扰。我们可以在国外服务器上配置Google的反向代理来实现。
配置Google反向代理.
nginx是一个强大的反向代理服务器。要实现反向代理功能只需要修改nginx的配置文件就可以了。
这是我的配置文件(没有使用SSL,懒得折腾了)
server {
listen 80;
server_name 【你的域名】;
location / {
proxy_redirect http://www.google.com/ /;
proxy_cookie_domain google.com 【你的域名】;
proxy_pass http://173.194.127.48;
proxy_set_header Accept-Encoding "";
proxy_set_header User-Agent $http_user_agent;
proxy_set_header Accept-Language "zh-CN";
proxy_set_header Cookie "PREF=ID=047808f19f6de346:U=0f62f33dd8549d11:FF=2:LD=zh-CN:NW=1:TM=1325338577:LM=1332142444:GM=1:SG=2:S=rE0SyJh2W1IQ-Maw";
sub_filter www.google.com 【你的域名】;
sub_filter_once off;
}
}
测试并重载nginx配置,试试输入你的域名,应该已经可以正常显示Google的首页了。
替换响应内容.
你已经成功反向代理了Google,这时你可以向网页里添加一些奇怪的东西,或者统计代码,甚至广告。
nginx自带了sub_filter功能,但是这个语句在整个配置文件中只能使用一次。所以我们需要使用ngx_http_substitutions_filter_module这个第三方模块。
如果你的nginx是从软件仓库安装的,只需要执行(debian/ubuntu)
sudo apt-get install nginx-full
如果你的nginx是编译安装的,请参考这篇文章。
比如说我们想要实现这样的效果:
我们只需要在上面的配置文件中加这样一句:
subs_filter </form> '<br><center>蛤蛤蛤蛤蛤蛤蛤</center></form>';
意思是将
</form>
替换为:
<br><center>这是一个蛤蛤蛤蛤蛤蛤蛤</center></form>
也就是说将
<br><center>这是一个蛤蛤蛤蛤蛤蛤蛤</center>
加在</form>标签之前。
统计,广告代码也同理,只需要找到需要加入代码的位置,替换即可。
发表回复/Leave a Reply