当前位置: > Linux服务器 > nginx >

Nginx 反向代理google

时间:2015-02-09 12:51来源:linux.it.net.cn 作者:IT

首先,把网站的服务器更改为 nginx,以便能够使用反向代理的功能。下载 nginx 版本后,大致使用如下的命令来编译安装:

view source
 
print?
1 ./configure --prefix=/usr/local/nginx --with-openssl=/usr/local/src/openssl --with-http_sub_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module
2 make && make install

这里面重点是 nginx.conf 的配置文件,网上别人的资料多数是抄来抄去,很多错乱,根据别人的一些领悟,加上自身的测试,总结了这些要点:

  1. rewrite 规则使用如下:
    view source
     
    print?
    1 location / {
    2     try_files $uri $uri/ /index.php?$args;
    3 }
    4 rewrite /wp-admin$ $scheme://$host$uri/ permanent;
  2. 不能使用 upstream 来提供负载均衡,甚至于在 proxy_pass 配置中连域名都无法使用,否则会出现重定向的错误。
  3. 不能在 set_header 中设置 proxy_set_header Host “www.google.com”,否则还是出错。
  4. 最终的 conf 配置内容大致如下:
    view source
     
    print?
    01 server {
    02         listen     80;
    03         server_name google.nowo.com;
    04         rewrite ^(.*) https://google.nowo.com$1 permanent;
    05 }
    06  
    07 server {
    08         listen          443;
    09         server_name google.nowo.com;
    10         ssl on;
    11         ssl_certificate /usr/local/nginx/conf/server.crt;
    12         ssl_certificate_key /usr/local/nginx/conf/server.key;
    13  
    14         location / {
    15         proxy_redirect http://www.google.com/ /;
    16         proxy_cookie_domain google.com google.nowo.com;
    17         proxy_pass http://173.194.127.48;
    18         proxy_set_header Accept-Encoding "";
    19         proxy_set_header User-Agent $http_user_agent;
    20         proxy_set_header Accept-Language "zh-CN";
    21         proxy_set_header Cookie "ID=06221a3783b4d25f:U=c4ead7131e4cc66e:FF=0:LD=en:CR=2:TM=1292312194:LM=1392823744:DV=0SJoub_nzRUL:GM=1:IG=4:S=CX14SzHTuABFnuyk";
    22         sub_filter www.google.com google.nowo.com;
    23         sub_filter_once off;
    24     }
    25 }

    大功告成,可以使用自己定义的域名来访问谷歌,并正常使用搜索功能了。



(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容