【问题标题】:How to redirect in nginx based on cookie header with alias?如何基于带有别名的cookie标头在nginx中重定向?
【发布时间】:2020-03-14 01:31:12
【问题描述】:

我有一个我想配置的网络服务器,使用 cloudfare 的 cookie.lua。

local key = "123"
local accessKey, err = cookie:get("access-key")
if accessKey == key then
  ngx.var.proxy = "my_remote_server"
else 
  alias a static location
end

我的问题是我认为有一个支持 proxy_pass 的 lua 变量,这意味着 ngx.var.proxy,但在别名中没有与静态位置等效的变量。 那么有没有可以解决我的问题的示例配置?感谢您阅读本文。

【问题讨论】:

    标签: nginx lua


    【解决方案1】:

    我不确定我是否正确理解了您的问题。

    如果您想基于 cookie(或任何 Lua 条件,真的)重定向到另一个路由,您可以使用 ngx.exec,它会执行内部重定向;这意味着客户端将收到回复,就好像他们导航到新的 URI 一样,但这一切都发生在服务器端,因此客户端不会被重定向,仍然会在浏览器中看到旧的 URI。

    我不知道这是否 100% 等同于使用别名,但您始终可以将其与 ngx.var.VARIABLE 和另一个具有实际 alias 指令的路由结合使用 $VARIABLE

    【讨论】:

      猜你喜欢
      • 2021-09-21
      • 2015-05-30
      • 2022-09-28
      • 1970-01-01
      • 2016-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多