将请求重定向到不同的侦听器nginx

时间:2012-08-15 16:50:39

标签: http https nginx reverse-proxy

我有两个监听器80和777.端口80充当反向代理。端口777做了一些额外的东西,并希望重定向到端口80.如何重定向到nginx中的不同端口?我正在尝试重写,但后来发现它只用于改变路径

   ###
   server{
            listen  80;
            server_name     _;
            location / {
                    proxy_pass "http://upstream0;#" is included since links are not allowed in the post
            }

    }

    server{
            listen  777;
            server_name     _;
            #doing some other extra stuf
            //Want to redirect to port 80 under some condition
    }

有可能吗?

由于

1 个答案:

答案 0 :(得分:0)

就nginx而言,将某些内容传递给另一个nginx侦听器/服务器并传递一些ot apache / mongrel / thin / ...或任何其他http服务器并没有什么区别 换句话说,如果你想把事情传递给另一个监听器你就会使用proxy_pass

所以你想做的就像是

 location / {
   if (some condition) {
     proxy_pass http://$host:80
   }
 }

请参阅http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass