新博客,整理一下过去东西,发现基本都是没什么用的东西,都是凑数的,搬过来一篇Nginx反代Google实现国内访问,个人认为比较有用,我也不是一个煽情的人,废话也就不说了,至于为什么反代,我相信你自己心里清楚。
准备材料
1、除大陆外任何一个可以访问Google的VPS,内存最低32MB。
2、反代Google的域名一枚。
3、SSL一枚,可以使用startssl的免费证书,或者Wosgin的免费证书,当然你也可以选择在淘宝购买7元的SSL,当然这一项也是可选的。
安装Nginx
在安装之前我们需要先安装Nginx需要的依赖。在VPS执行下面的命令。
代码如下 |
复制代码 |
yum install glib2-devel openssl-devel pcre-devel bzip2-devel gzip-devel
|
然后开始安装Nginx
代码如下 |
复制代码 |
wget http://nginx.org/download/nginx-1.7.7.tar.gz
tar -zxvf nginx-1.7.7.tar.gz
cd nginx-1.7.7
./configure –user=www –group=www –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module –with-http_gzip_static_module –with-ipv6 –with-http_sub_module –with-http_spdy_module
make && make install
echo "export PATH=$PATH:/nginx/sbin:">>/etc/profile
source /etc/profile
|
常用命令
代码如下 |
复制代码 |
/usr/local/nginx/sbin/nginx #启动
/usr/local/nginx/sbin/nginx -s stop #关闭
/usr/local/nginx/sbin/nginx -t #测试配置文件是否正确
/usr/local/nginx/sbin/nginx -s reload #不关闭的情况下重新载入配置文件
|
如果是军哥的LNMP一键包,那么更简单只需要进入LNMP的安装目录,然后执行
代码如下 |
复制代码 |
vi upgrade_nginx.sh
在编译参数后面加上
–with-http_sub_module –with-http_spdy_module
然后执行
bash upgrade_nginx.sh
开始反代
在你的.conf文件改为以下内容
proxy_cache_path /data/nginx/cache/one levels=1:2 keys_zone=one:10m max_size=10g;
proxy_cache_key "hostrequest_uri";
server {
listen 80;
server_name domain.com www.domain.com;
rewrite ^(.*) https://www.domain.com/$1 permanent;
}
upstream google {
server 74.125.224.80:80 max_fails=3;
server 74.125.224.81:80 max_fails=3;
server 74.125.224.82:80 max_fails=3;
server 74.125.224.83:80 max_fails=3;
server 74.125.224.84:80 max_fails=3;
}
server {
listen 443;
server_name domain.com www.domain.com;
ssl on;
ssl_certificate /usr/local/nginx/conf/ssl.crt;
ssl_certificate_key /usr/local/nginx/conf/ssl.key;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES128-SHA:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH:!CAMELLIA:!PSK:!SRP;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
location / {
proxy_cache one;
proxy_cache_valid 200 302 1h;
proxy_cache_valid 404 1m;
proxy_redirect https://www.google.com/ /;
proxy_cookie_domain google.com domain.com;
proxy_pass http://google;
proxy_set_header Host "www.google.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";
sub_filter www.google.com www.domain.com;
sub_filter_once off;
}
}
|
部分代码解释
这一句是你的SSL证书的根证书和证书的合并体
ssl_certificate /usr/local/nginx/conf/ssl.crt;
这一句是你生成CSR的时候,一起生成的key文件
ssl_certificate_key /usr/local/nginx/conf/ssl.key;
这里是反代的Google的IP。可以修改的!
代码如下 |
复制代码 |
upstream google {
server 74.125.224.80:80 max_fails=3;
server 74.125.224.81:80 max_fails=3;
server 74.125.224.82:80 max_fails=3;
server 74.125.224.83:80 max_fails=3;
server 74.125.224.84:80 max_fails=3;
}
|
注意
请将文件的domain.com 和 www.domain.com 替换成你自己的域名。反代其他的就把文中的www.google.com 和 google.com换成你要反代的域名。并替换文中的upstream中的IP
打赏
微信扫一扫,打赏作者吧~