通过标头配置nginx代理?

时间:2017-11-15 23:52:18

标签: nginx oauth-2.0 http-proxy

基本上,我的问题是如何使用nginx通过标头代理请求?例如,

  • 如果标头有cookie,则需要通过
  • 但如果没有标题,则需要重定向到登录页面
  • 例外情况是"特殊"管理员定义的标头已设置。如果该标题存在,则无论cookie如何都将其传递。

如何使用nginx执行此操作?或者我应该使用其他东西? (如果重要的话,那就是oauth2。)

我已经看到了这一点:http://sites.psu.edu/jasonheffner/2015/06/19/nginx-use-different-backend-based-on-http-header/但是,我还不确定这是否是我需要的。

更新:看起来上面引用的链接可以给我前两个要求。例如,下面的内容可能有效;但是,我不清楚如何处理第三项要求。

那么我怎样才能使这个允许另一个头定义的请求呢?是否可以根据条件的结果来定义proxy_pass

map $http_cookie $redirect {
 default "loginpage"; # no cookie go to login page
 *       "";                # otherwise pass thru     
}

server {
 location / {
      proxy_pass http://server/$redirect;
 }
}

0 个答案:

没有答案