ghost如何从nginx(反向代理)获得真正的IP?

时间:2016-12-16 09:18:32

标签: nginx ghost

我已将nginx配置为反向代理。但是,ghost总是从nginx转发给它的请求获得相同的ip 127.0.0.1。

如何让ghost从nginx获取真正的IP?

我的nginx配置包括以下语句

proxy_set_header Host $http_host;    
proxy_set_header  X-real-ip $remote_addr;

1 个答案:

答案 0 :(得分:1)

您应该首先尝试从标题中检索IP地址:

var ip = req.headers['x-real-ip'] || req.connection.remoteAddress;

建议不要直接覆盖req.connection.remoteAddress,因为它会使您与之合作的其他程序员感到困惑。但这在技术上是可行的。 remoteAddress是一个getter,因此您无法直接为其赋值,您需要define your own getter

req.connection.__defineGetter__('remoteAddress', function() {
    return req.headers['x-real-ip'];
});