gpt4 book ai didi

负载均衡器后面的 nginx $scheme 变量

转载 作者:行者123 更新时间:2023-12-02 20:34:44 26 4
gpt4 key购买 nike

如果 nxinx 在负载均衡器后面运行,是否可以强制 nginx $scheme 值为“https”?

在我的场景中,负载均衡器负责与客户端进行 https 通信,并将请求作为原始 http 转发到 nginx。我知道我可以做这样的事情来检测 https

set $my_scheme "http";
if ($http_x_forwarded_proto = "https") {
set $my_scheme "https";
}

但我只是好奇是否有类似于 IP 的 real_ip_header 函数。

手动检测 https 时是否还需要更新一些 header ?

最佳答案

我们的设置与您的相同,只是使用 map 而不是 if/set(按照 nginx devs 的建议)。

# Sets a $real_scheme variable whose value is the scheme passed by the load
# balancer in X-Forwarded-Proto (if any), defaulting to $scheme.
# Similar to how the HttpRealIp module treats X-Forwarded-For.
map $http_x_forwarded_proto $real_scheme {
default $http_x_forwarded_proto;
'' $scheme;
}

附注我同意,real_scheme 模块会很好!

关于负载均衡器后面的 nginx $scheme 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21230918/

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