欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2023-11-10 22:00:40
长期以来谷歌在tc一直被间歇性干扰,直至今日已经被完全屏蔽,给我们的学习和工作造成极大不便。以下为反代谷歌的教程,共有两种方式。 一、直接反向代理,使用的是7ghost源...

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

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

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

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

step1:你得需要有一台linux的海外vps。

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

step3:安装好amh后,登陆amh后台(默认地址为你的vps ip地址:8888),点击模块扩展——下载模块——搜索“ssl”,点击下载。

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

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

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

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