$proxy_internal_host

$proxy_internal_host 返回请求的内部代理主机名。 — NGINX Core (HTTP)

$proxy_internal_host NGINX Core (HTTP)

说明

$proxy_internal_host 变量在 NGINX 中主要用于将请求代理到内部位置的配置中。它的作用是保存并返回通常由服务器内部网络设置确定的内部(或后端)主机名。该变量在涉及负载均衡或反向代理的场景中特别有用,因为多个上游服务器可能处理传入请求。根据上下文,该变量将被设置为代理配置中指定的内部主机名;如果未明确定义,则默认为服务器的主机名。 $proxy_internal_host 在处理被 proxy 相关指令(例如 proxy_pass)修改的请求时进行求值。如果定义了 proxy_name,则该名称将用作该变量的值。如果未定义内部主机名,则可能回退到 NGINX 配置规定的默认行为。这可确保请求根据明确的配置或内部默认值正确路由。 这允许基于 $proxy_internal_host 变量做出决策的高级配置,从而启用和管理基于内部主机名的内部路由策略或安全检查。它还可以增强日志记录和调试过程,方便管理员更直观地检查内部代理设置。

配置示例

location /api {
    proxy_pass http://backend_server;
    proxy_set_header Host $proxy_internal_host;
}

子系统

http

可缓存

上下文

http, server, location

确保在代理配置中正确设置内部主机名,以避免出现意外行为。

$proxy_internal_host 在代理上下文之外使用时可能无法按预期运行,因为它依赖于被代理的请求被定义。

请记住,该变量不包含端口信息;如有需要,必须单独处理。