gpt4 book ai didi

redirect - 如何从 nginx 发出相对 URL 重定向?

转载 作者:行者123 更新时间:2023-12-02 17:21:17 29 4
gpt4 key购买 nike

如何在 nginx 中配置重定向,以相对重定向到特定路径来响应某个 url?

nginx documentation表明这是 nginx 的默认模式,但实际上,如果重定向到的位置以/开头,则 nginx 会在位置字段中使用绝对 url 进行响应。

对于包含位置的本地服务器配置:

location = /a {
return 301 some/path;
}
location = /b {
return 301 /qwerty;
}

对/a 的请求的响应位置是:

Location: some/path

对于/b 来说是:

Location: http://127.0.0.1/qwerty

但是,我们希望/b 回复:

Location: /qwerty

我们想要使用相对重定向的原因是我们想要从不同的域和代理访问 nginx,例如在开发中或通过 ssl 终止负载平衡器明确表示,并且宁愿通过减轻 nginx 需要理解该上下文的方式来使事情变得简单。

仅供引用,这些示例是针对 nginx 版本 1.4.6 和 1.9.6 进行测试的,使用curl,例如:

curl --head http://127.0.0.1/b

最佳答案

有一个 nginx 指令 absolute_redirect从 nginx 版本 1.11.8 开始可用,默认情况下启用。如果禁用,nginx 发出的重定向将是相对的。这个问题有点老了,但也许对大家从谷歌上找到它的人有用。

 absolute_redirect off;

关于redirect - 如何从 nginx 发出相对 URL 重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33523821/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com