我的服务器没有公共IP地址,所以我不知道如何获得真实客户端的IP地址。
这是我的nginxconfiguration:
location / { proxy_pass http://domain1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
在我的Rails应用程序的控制器都request.ip
和request.remote_ip
返回我的服务器的网关地址。
我怎样才能得到客户的真实IP?
如何获得X-Forwarded-For来自Rails请求的值?
你应该得到X-forward-for的标题值
Rails应该是自动为我们做的,但是现在的3.x似乎已经被打破了
我正在使用这个:
def ip() request.env['HTTP_X_FORWARDED_FOR'] || request.remote_ip end