在Nginx服务器上配置Google反向代理的基本方法

长期以来谷歌在TC一直被间歇性干扰,直至今日已经被完全屏蔽,给我们的学习和工作造成极大不便。以下为反代谷歌的教程,共有两种方式。

一、直接反向代理,使用的是7ghost源码搭建,优点是简单容易上手,缺点是容易被屏蔽,不能搜索敏感词。

二、使用SSL加密反向代理,优点是安全、不易被屏蔽,缺点是技术性相对较强,需要折腾的地方也多。

现在主要简单说下第二种方法的设置过程。

Step1:你得需要有一台Linux的海外VPS。

Step2:Nginx环境的建立(为了方便,教程中就用AMH一键包进行环境构建,当然你用军哥一键包或纯Nginx环境#也就是只安装nginx,不用安装php、sql啥的#都是可以的。)

Step3:安装好AMH后,登陆AMH后台(默认地址为你的VPS IP地址:8888),点击模块扩展——下载模块——搜索“SSL”,点击下载。

20151230103813966.jpg (1057×396)

好了,现在咱们的SSL模块已经安装完成了。
现在点击虚拟主机,填写好域名信息,点击SSL配置,配置SSL相关信息。

20151230103849403.jpg (876×664)

接着在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网站(一些大站除外),但是对谷歌是没有影响的。