2014-09-12 91 views
1

在我的应用程序中,基于cookie,我必须将请求转发到某个apache端口。我想是这样的:替代else运算符和不等于nginx运算符

server { 
    listen  80; 
    server_name example.com; 
    location/
    { 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header Host $http_host; 
     proxy_set_header X-FORWARDED_PROTO https; 
     if ($http_cookie ~ 'ver=1') { 
      proxy_pass http://127.0.0.1:6060; 
     } 
     else { 
      proxy_pass http://127.0.0.1:7070; 
     } 
    } 
} 

为“其他”,而不是在nginx.conf允许,我能为这种类型的要求完成“〜!”?

回答

4

分配一个变量和使用这样的:

server { 
    listen  80; 
    server_name ver.jeevansathi.com; 
    location/
    { 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header Host $http_host; 
     proxy_set_header X-FORWARDED_PROTO https; 
     set $cookie_redirect 0; 
     if ($http_cookie ~ 'ver=1') { 
      set $cookie_redirect 1; 
     } 
     if ($cookie_redirect ~ 1) { 
      proxy_pass http://127.0.0.1:6060; 
     } 
     if ($cookie_redirect ~ 0) { 
      proxy_pass http://127.0.0.1:7070; 
     } 
    } 
}