› NGINX
› NGINX Trac
› 3rd Party Modules
› Security Advisories
› CHANGES
› OpenResty
› ngx_lua
› Tengine
在线学习资源
› NGINX 开发从入门到精通
NGINX Modules
› ngx_echo
xzpjerry731
V2EX  ›  NGINX

nginx 怎么把网站反代到目录?

  •  
  •   xzpjerry731 · May 14, 2016 · 4709 views
    This topic created in 3829 days ago, the information mentioned may be changed or developed.

    想法是在目录下反代谷歌 一开始 location /{}这样弄没问题,但是我想把 location /{} 这种留给我的 blog 用,想在 location /google{}反代,但是问题来了,反代谷歌主页没问题,但是搜索 404. 所以是哪有问题呢?

    这是我的配置。。话说 v2 排版有点奇怪 T_T

    upstream yoyo { server 216.58.219.225:443 max_fails=3;

      server 216.58.219.226:443 max_fails=3;
      
      server 216.58.219.227:443 max_fails=3;
      
      server 216.58.219.228:443 max_fails=3;
      
    }
    

    server {

       listen      443 ssl;
        
    #listen       [::]:443 ssl;
    
        server_name  lalalaala;
    
    ssl on;
        ssl_certificate /etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx.key;
    ssl_protocols   TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers 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_prefer_server_ciphers  on;
         ssl_session_cache       shared:SSL:10m;
         ssl_session_timeout     5m;
    
    location ^~/google{
            proxy_redirect https://www.google.com/ /;
            proxy_pass https://yoyo/;
           proxy_set_header Host www.google.com;
           proxy_set_header User-Agent $http_user_agent;
           proxy_set_header Referer http://www.google.com;
            proxy_set_header Accept-Encoding "";
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto https;
        }
    
      }
    

    }

    15 replies  •  2016-05-17 05:10:30 +08:00
    babytomas
    babytomas
    May 14, 2016
    1
    location ^~/google

    改为

    location ^~/google/

    试试?然后 rewrite /google 到 /google/
    xzpjerry731
    xzpjerry731
    OP
    May 14, 2016
    2
    @babytomas 是这样? 并不行的说

    location ^~/google{

    rewrite ^/ https://$server_name/google/;

    }

    location ^~/google/{

    proxy_redirect https://www.google.com/ /;
    proxy_pass https://yoyo/;
    proxy_set_header Host www.google.com;
    proxy_set_header User-Agent $http_user_agent;
    proxy_set_header Referer http://www.google.com;
    proxy_set_header Accept-Encoding "";
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    }
    maxsec
    maxsec
    May 14, 2016
    3
    proxy_store
    xzpjerry731
    xzpjerry731
    OP
    May 14, 2016
    4
    @maxsec 反代谷歌不用缓存吧= =
    lslqtz
    lslqtz
    May 14, 2016 via iPhone
    5
    location /google/ {
    }
    个人用这种写法。
    xzpjerry731
    xzpjerry731
    OP
    May 14, 2016
    6
    @lslqtz 能贴下你的配置吗? 我现在是反代后谷歌主页能打开,但是搜索过去就 404,我感觉应该是 proxy_redirect 的问题, 搜了语法规则还是不太懂 T_T
    lslqtz
    lslqtz
    May 15, 2016❤️1
    7
    @xzpjerry731 我觉得和这句有关:
    proxy_redirect https://www.google.com.hk/ /google/;
    没替换?看一下请求看看。
    beginor
    beginor
    May 15, 2016 via Android❤️1
    8
    最好是映射到端口,有些网页里面的链接写死从根目录“/”开始的就会出错了
    xzpjerry731
    xzpjerry731
    OP
    May 15, 2016
    9
    @lslqtz 嗯。明天试试,我好像之前试过这样写没有用(但好像最后没有加 /这个在后面)
    xzpjerry731
    xzpjerry731
    OP
    May 15, 2016
    10
    @beginor 好主意!之前没想到
    lslqtz
    lslqtz
    May 16, 2016
    11
    @xzpjerry731 应该是要加 / 否则成文件了吧。。
    xzpjerry731
    xzpjerry731
    OP
    May 16, 2016
    12
    @lslqtz 后面加了‘/’还是不行,请求是在 nginx 的 LOG 里看吗? 我看了下都是 get “ xxx ”这种
    lslqtz
    lslqtz
    May 16, 2016
    13
    @xzpjerry731 我觉得如果是 404 的话看 log 并没啥用。。一个个试试看,顺便找找网上的配置。
    xzpjerry731
    xzpjerry731
    OP
    May 16, 2016
    14
    @lslqtz 我也觉得,网上都是用 location /{}这样的,汗,干脆注册多个域名好了
    lslqtz
    lslqtz
    May 17, 2016 via iPhone
    15
    @xzpjerry731 二级域名。 g.xxx.com 吧。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1940 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 08:10 · PVG 16:10 · LAX 00:10 · JFK 03:10
    ♥ Do have faith in what you're doing.