【问题标题】:env['REMOTE_ADDR'] with Goliath rubyenv['REMOTE_ADDR'] 与 Goliath ruby
【发布时间】:2014-06-03 12:38:21
【问题描述】:

我有一个带有 Goliath gem (ruby) 的 API,我想获取调用我的 API 的 movile 的 ip。情况是,env['REMOTE_ADDR'] 总是在某些设备呼叫我时给我127.0.0.1。应该是手机的ip给我打电话吧?

有什么帮助吗?

提前致谢!

【问题讨论】:

    标签: ruby env goliath


    【解决方案1】:

    问题在于通过 Nginx 进行代理。我不得不按如下方式更改 Nginx 代理配置。

    upstream app_xxx {
       server 127.0.0.1:3000;
    }
    
    server {
       listen 80;
    
       location / {
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header Host $http_host;
          proxy_pass http://app_xxx;
       }
    }
    

    重要的是:真实IP在X-Real-IP参数中。所以你必须访问它:

    env['X-Real-IP']
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-15
      • 1970-01-01
      • 2019-07-12
      • 1970-01-01
      • 2021-10-26
      • 1970-01-01
      • 2013-07-12
      • 2020-11-10
      相关资源
      最近更新 更多