在Nginx服务器上配置Google反向代理的基本方法
长期以来谷歌在TC一直被间歇性干扰,直至今日已经被完全屏蔽,给我们的学习和工作造成极大不便。以下为反代谷歌的教程,共有两种方式。
一、直接反向代理,使用的是7ghost源码搭建,优点是简单容易上手,缺点是容易被屏蔽,不能搜索敏感词。
二、使用SSL加密反向代理,优点是安全、不易被屏蔽,缺点是技术性相对较强,需要折腾的地方也多。
现在主要简单说下第二种方法的设置过程。
Step1:你得需要有一台Linux的海外VPS。
Step2:Nginx环境的建立(为了方便,教程中就用AMH一键包进行环境构建,当然你用军哥一键包或纯Nginx环境#也就是只安装nginx,不用安装php、sql啥的#都是可以的。)
Step3:安装好AMH后,登陆AMH后台(默认地址为你的VPS IP地址:8888),点击模块扩展——下载模块——搜索“SSL”,点击下载。
好了,现在咱们的SSL模块已经安装完成了。
现在点击虚拟主机,填写好域名信息,点击SSL配置,配置SSL相关信息。
接着在VPS中执行vim /usr/local/nginx/conf/vhost/你的域名.conf (其他环境的以你的环境为准,AMH的conf在此处)
新增代码(要先把你的域名.conf这个文件全部清空再复制粘贴如下代码),然后保存退出,重启Nginx即可。(代码根据实际情况需要做一些改动,这里以完整代码的形式给出,代码最后一部分是让访问http跳转到https)
server { listen 443; server_name guance.com; ssl on; ssl_certificate /usr/local/nginx/conf/ssl/www.guance.com.crt; ssl_certificate_key /usr/local/nginx/conf/ssl/www.guance.com.pem; ssl_protocols SSLv3 TLSv1; ssl_ciphers ALL:-ADH:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP; location / { proxy_redirect off; proxy_pass https://www.google.co.jp/; proxy_redirect http://www.google.com/ /; proxy_cookie_domain google.com guance.com; 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"; } } server { listen 80; server_name guance.com; rewrite ^(.*) https://guance.com$1 permanent; } server { listen 80; server_name www.guance.com; rewrite ^(.*) https://guance.com$1 permanent; } server { listen www.guance.com:80; server_name guance.com; rewrite ^(.*)$ https://$host$1 permanent; }
到这里已经全部完成。
PS:关于SSL加密
SSL全称是Security Socket Layer,如果网站使用了SSL加密,GFШ就无法封域名了,因为传输过程中URL也是加密的,GFШ无能为力。但是GFШ是可以封IP的443端口的,不过那样的话也还是可以通过更换IP来达到避免被墙的目的。
GFШ封锁Google的SSL加密搜索,原理就是屏蔽Google指定IP的443端口。因为建立HTTPS连接的第一步是请求Google发证书过来:发一个HTTP数据包到Google的IP地址,里面写着443端口,GFШ一看,封!
443端口即网页浏览端口,主要是用于HTTPS服务,是提供加密和通过安全端口传输的另一种HTTP。在一些对安全性要求较高的网站,比如银行、证券、购物等,都采用HTTPS服务,这样在这些网站上的交换信息其他人都无法看到,保证了交易的安全性。网页的地址以https://开始,而不是常见的http://。
SSL证书需要购买,网上有很多便宜的SSL证书,大概10美元一年,这和一个.com域名的年费差不多。而且事实上,还能找到免费的SSL证书,例如startssl.com提供的免费证书。在效力上,便宜的证书当然会比大机构颁发的证书差一点,但是几乎所有的主流浏览器都接受这些证书。
网站使用SSL加密对搜索引擎不太友好,百度基本不收录HTTPS网站(一些大站除外),但是对谷歌是没有影响的。
下一篇:在Nginx服务器上安装配置博客程序Typecho的教程