在代理背后表达
在代理背后表达
在反向代理后面运行快速应用时,某些快速 API 可能会返回与预期不同的值。为了对此进行调整,可以使用应用程序设置在 Express API 中公开反向代理提供的信息。最常见的问题是,公开客户端 IP 地址的显式 API 可能会显示反向代理的内部 IP 地址。trust proxy
配置设置时,了解反向代理的确切设置非常重要。由于此设置将信任请求中提供的值,因此 Express 中的设置组合必须与反向代理的操作方式相匹配。trust proxy
应用程序设置可以设置为下表中列出的值之一。trust proxy
类型 | 价值 | ||||||||
---|---|---|---|---|---|---|---|---|---|
布尔 |
如果 ,则客户端的 IP 地址被理解为标头中最左侧的条目。 如果 ,则应用被理解为直接面向客户端,并且客户端的 IP 地址派生自 。这是默认设置。 设置为 时,请务必确保最后一个受信任的反向代理正在删除/覆盖以下所有 HTTP 标头:、、,否则客户端可能会提供任何值。 |
||||||||
IP 地址 |
要信任为反向代理的 IP 地址、子网或 IP 地址和子网数组。以下列表显示了预配置的子网名称:
您可以通过以下任一方式设置 IP 地址:
指定后,将从地址确定过程中排除 IP 地址或子网,并将离应用程序服务器最近的不受信任 IP 地址确定为客户机的 IP 地址。这通过检查是否受信任来工作。如果是这样,则从右到左检查中的每个地址,直到第一个不受信任的地址。 |
||||||||
数 |
使用与 Express 应用程序最多相距跃点数的地址。 是第一个跃点,其余的在标题中从右到左查找。值 of 表示第一个不受信任的地址是 ,即没有反向代理。 使用此设置时,请务必确保 Express 应用程序没有多个不同长度的路径,以便客户端可以小于配置的跃点数,否则客户端可能会提供任何值。 |
||||||||
功能 |
自定义信任实现。
|
启用将产生以下影响:trust proxy
-
req.hostname 的值派生自标头中设置的值,该值可由客户端或代理设置。
X-Forwarded-Host
-
X-Forwarded-Proto
可以通过反向代理设置,以告诉应用程序它是无效名称还是无效名称。此值由 req.protocol 反映。https
http
-
req.ip 和 req.ips 值根据套接字地址和标头填充,从第一个不受信任的地址开始。
X-Forwarded-For
该设置是使用代理地址包实现的。有关详细信息,请参阅其文档。trust proxy
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现