【问题标题】:Using app.set to set trust proxy使用 app.set 设置信任代理
【发布时间】:2016-03-21 17:29:28
【问题描述】:

在设置应用变量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');

然后

var sess = {
    proxy: true
     cookie: {
      httpOnly: true,
      secure: true
    }
}

根据documentation,允许几种类型的值作为第二个参数:

布尔值

如果为真,则客户端的 IP 地址被理解为最左边的条目 在 X-Forwarded-* 标头中。

如果为 false,则应用被理解为直接面向互联网并且 客户端的 IP 地址来自 req.connection.remoteAddress。 这是默认设置。

IP 地址

IP 地址、子网或 IP 地址和子网数组 相信。以下列表显示了预配置的子网名称

【问题讨论】:

    标签: express proxy


    【解决方案1】:

    我相信这将用于入站请求(即,来自 127.0.0.1)。

    您链接到的文档是关于在代理后面运行 Express 应用程序。当请求到达代理时,代理会将请求路由到应用程序,应用程序会看到代理的 IP 地址而不是原始客户端的 IP 地址。

    如文档所述,设置 trust proxy 通过忽略代理的 IP 地址(以某种方式)解决了该问题。

    【讨论】:

    • 谢谢!我不确定在投入生产时我需要如何调整我的快速配置。但是你的解释真的让我明白了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    • 2012-12-26
    • 2015-07-20
    • 2019-01-08
    • 2021-08-28
    • 2016-08-09
    相关资源
    最近更新 更多