ghost如何从nginx(反向代理)获取真实IP?
How does ghost get real IP from nginx(reverse proxy)?
我已经将 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;
您应该首先尝试从 headers:
检索 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'];
});
我已经将 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;
您应该首先尝试从 headers:
检索 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'];
});