设置应用程序变量trust proxy
时,app.set
中的第二个参数是否表示服务器信任所有请求FROM 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,允许使用几种类型的值作为第二个参数:
布尔
如果为true,则客户端的IP地址被理解为最左边的条目 在X-Forwarded- *标题中。
如果为false,则应用程序被理解为直接面向Internet和 客户端的IP地址来自req.connection.remoteAddress。 这是默认设置。
IP地址
IP地址,子网或IP地址和子网阵列 信任。以下列表显示了预配置的子网名称
答案 0 :(得分:4)
我相信这是针对入站请求的(即来自 127.0.0.1)。
您链接到的文档正在讨论在代理后面运行Express应用程序。当请求到达代理时,代理会将请求路由到应用程序,应用程序会看到代理的IP地址,而不是原始客户端的IP地址。
设置trust proxy
通过忽略代理的IP地址(以某种方式)解决了这个问题,正如文档所解释的那样。