nginx反向代理google

I. 准备工作

首先,需要国外的VPS,推荐搬瓦工。参见

BandwagonHost $3.99 年付 VPS 可以用来搭建 VPN/Shadowsocks

另外需要有自己的域名和ssl噢。

II. 下载和安装nginx

一、编译安装 Nginx

1、首先更新下系统

sudo apt-get update && sudo apt-get upgrade

2、安装的 Nginx 需要的包以及 Git

sudo apt-get install libpcre3 libpcre3-dev zlib1g-dev libssl-dev build-essential git

3、新建立个 Nginx 目录,方便管理

mkdir nginx && cd nginx

下载 Nginx 最新稳定版,用 Git 克隆两个 Nginx 模块,一个是 wen.lu 开源的 ngx_http_google_filter_module,另一个是 Nginx 替换关键词模块 ngx_http_substitutions_filter_module

wget http://nginx.org/download/nginx-1.6.2.tar.gz
tar -xvf nginx-1.6.2.tar.gz
git clone https://github.com/cuber/ngx_http_google_filter_module
git clone https://github.com/yaoweibin/ngx_http_substitutions_filter_module
4、进入 Nginx 目录并创建个 Nginx 临时文件夹

cd nginx-1.6.2
mkdir /var/tmp/nginx

5、使用下面的参数开始编译

./configure
–prefix=/usr –conf-path=/etc/nginx/nginx.conf –pid-path=/var/run/nginx.pid –lock-path=/var/lock/nginx.lock –http-client-body-temp-path=/var/tmp/nginx/client –http-proxy-temp-path=/var/tmp/nginx/proxy –http-fastcgi-temp-path=/var/tmp/nginx/fastcgi –http-scgi-temp-path=/var/tmp/nginx/scgi –http-uwsgi-temp-path=/var/tmp/nginx/uwsgi –with-http_ssl_module –with-http_gzip_static_module
–add-module=/root/nginx/ngx_http_google_filter_module
–add-module=/root/nginx/ngx_http_substitutions_filter_module
PS:如果需要支持 IPv6 请别忘记增加 IPv6 模块 –with-ipv6

6、没问题以后直接用 make 安装

make && make install

III. 配置反代

以下是我的配置示例

server {
 listen 80 ;
 server_name www.liuxiaoting.com;
 return 301 https://www.liuxiaoting.com$request_uri;
}
server {
 listen 443 ssl;
 server_name www.liuxiaoting.com;
 
 ssl on;
 ssl_certificate  /usr/local/nginx/conf/ssl/www.liuxiaoting.com.crt;
 ssl_certificate_key  /usr/local/nginx/conf/ssl/www.liuxiaoting.com.key;
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
 ssl_prefer_server_ciphers on;
 ssl_ciphers ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM;
 keepalive_timeout 70;
 ssl_session_cache shared:SSL:10m;
 ssl_session_timeout 10m;
 resolver 8.8.8.8;
 location / {
       subs_filter google.com liuxiaoting.com; # 地址重写
        proxy_pass        https://www.google.com;
        proxy_set_header   X-Real-IP  $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   Referer http://$host; }
}

IV. 需要注意

  • sub_filter需要ngx_http_sub_module模块,编译时需要加上对应参数。

Reference:

http://nginx.com/resources/admin-guide/reverse-proxy/

此条目发表在学习笔记分类目录,贴了标签。将固定链接加入收藏夹。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据