Oneinstack Nginx 反代 Google

2022-12-16 15:46:48 浏览数 (1)

警告

本文最后更新于 2016-09-08,文中内容可能已过时。

GetGoogle.org (目前域名已经被墙,现在访问国外网站还是能够继续使用,但既然都能够访问国外网站了,也不需要用镜像来搜索了吧。:逃)

1、安装 oneinstack,如果只需要反代 Google,nginx 选择 y,其他全部选择 n;

2、安装编译 Nginx,当前版本为 1.10.1,注意用 nginx -V 查看一下 Nginx 版本号

代码语言:javascript复制
cd ~/oneinstack/src 

下载源码

代码语言:javascript复制
git clone https://github.com/cuber/ngx_http_google_filter_module 
git clone https://github.com/yaoweibin/ngx_http_substitutions_filter_module
wget http://mirrors.linuxeye.com/oneinstack/src/pcre-8.38.tar.gz
wget http://mirrors.linuxeye.com/oneinstack/src/openssl-1.0.2h.tar.gz

解压

代码语言:javascript复制
tar xzf pcre-8.38.tar.gz
tar xzf openssl-1.0.2h.tar.gz
tar xzf nginx-1.10.1.tar.gz
cd nginx-1.10.1

编译

代码语言:javascript复制
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-openssl=../openssl-1.0.2h --with-pcre=../pcre-8.38 --with-pcre-jit --with-ld-opt='-ljemalloc' --add-module=../ngx_http_google_filter_module --add-module=../ngx_http_substitutions_filter_module

make  #不需要 make install

mv /usr/local/nginx/sbin/nginx {,_`date  % m% d`}  #备份现有 nginx

cp objs/nginx/usr/local/nginx/sbin/  #更新 nginx

nginx -t  #检查 nginx 语法

service nginx restart

要正确使用 ngx_http_google_filter_module 模块,需要依赖扩展:

  • pcre 正则
  • ngx_http_proxy_module 反向代理
  • ngx_http_substitutions_filter_module 多重替换

3、安装 Let’s Encrypt,Oneinstack 已经集成了 Let’s Encrypt

代码语言:javascript复制
cd /root/oneinstack
./addons.sh

选择 7,安装 Let’s Encrypt 即可。

4、绑定域名

代码语言:javascript复制
cd /root/oneinstack
./vhost.sh

5、修改配置文件

代码语言:javascript复制
vim /usr/local/nginx/conf/vhost/getgoogle.org.conf
代码语言:javascript复制
 server {
    listen 443 ssl http2;
    server_name getgoogle.org www.getgoogle.org;
    ssl_certificate /etc/letsencrypt/live/getgoogle.org/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/getgoogle.org/privkey.pem;
    ssl_session_timeout 10m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers CHACHA20:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:RC4-SHA:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!DSS:!PKS;
    ssl_session_cache builtin:1000 shared:SSL:10m;
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;
    location / {
        google on;
        google_scholar on;
        google_language zh-CN;
        }
    }
 
 server {
     listen 80;
     server_name getgoogle.org www.getgoogle.org;
     rewrite ^(.*)$ https://$host$1 permanent;
     }

6、重启 Nginx

代码语言:javascript复制
service nginx restart

教程主要参考:https://blog.linuxeye.com/449.html

0 人点赞