在 Express.js 应用中启用对反向代理的信任,可以通过设置 'trust proxy' 配置来实现。当 Express 应用运行在反向代理服务器后面时,这个设置可以帮助你正确地获取到客户端的 IP 地址。
你可以在应用的入口文件中添加以下代码来启用对反向代理的信任:
const express = require('express');
const app = express();
// 设置对反向代理的信任
app.set('trust proxy', true);
// rest of the application logic
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
在这个例子中,我们将 'trust proxy' 设置为 true,表示我们信任反向代理服务器发送的请求头信息。这使得 req.ip 和 req.ips 正确地获取到客户端的 IP 地址。
注意,如果你的反向代理服务器使用不同的请求头来传递客户端的 IP 地址,你可以通过设置 'trust proxy' 为一个子网 IP 地址来指定可信任的 IP 地址。例如:
// 设置对特定子网 IP 地址的信任
app.set('trust proxy', 'loopback');
在这个例子中,我们设置 'trust proxy' 为 'loopback',表示我们信任本地回环地址(127.0.0.1)发送的请求头信息。这对于运行在本地开发环境中经过反向代理的应用很有用。