设置 application 变量时trust proxy,第二个参数是否app.set意味着服务器信任来自 127.0.0.1 或 TO 127.0.0.1 的所有请求?
例如:
app.set('trust proxy', 'loopback');
// or
app.set('trust proxy', '127.0.0.1');
Run Code Online (Sandbox Code Playgroud)
进而
var sess = {
proxy: true
cookie: {
httpOnly: true,
secure: true
}
}
Run Code Online (Sandbox Code Playgroud)
根据文档,允许使用多种类型的值作为第二个参数:
布尔值
如果为 true,则客户端的 IP 地址被理解为 X-Forwarded-* 标头中最左侧的条目。
如果为 false,则应用程序被理解为直接面向 Internet,并且客户端的 IP 地址来自 req.connection.remoteAddress。这是默认设置。
IP地址
要信任的 IP 地址、子网或一组 IP 地址和子网。以下列表显示了预配置的子网名称
我相信这将用于入站请求(即来自127.0.0.1)。
您链接到的文档正在讨论在代理后面运行 Express 应用程序。当请求到达代理时,代理将请求路由到应用程序,应用程序看到代理的 IP 地址而不是原始客户端的 IP 地址。
trust proxy正如文档所解释的那样,设置通过忽略代理的 IP 地址(以一种或另一种方式)来解决该问题。
| 归档时间: |
|
| 查看次数: |
3348 次 |
| 最近记录: |