当我在远程服务器上访问我的Rails 2.2应用程序时,我收到以下值作为我的REMOTE_ADDR.
request.env ['REMOTE_ADDR']:"75.184.124.93,10.194.95.79"
让我难过的是为什么有两个IP.快速检查我目前租用的公共IP,确认我的IP是75.184.124.93.
那么10.194.95.79来自哪里?
是否存在关于如何收集和报告我缺少的HTTP头规范中的远程地址的问题?这是预期的正常行为吗?
这绝对是因为反向代理.
反向代理(我经常使用BigIPs和Apache mod_proxy模式)通常会将所有插入的IP附加到列表中,以便您可以在代码中选择正确的IP.
例如,您可能希望找到要登录到webstats应用程序的公用文件,因此它位于REMOTE_ADDR中.但是你也有内部IP,所以你知道它来自哪个负载均衡器,哪个内部服务器用于某种内部网络跟踪,等等