当我在远程服务器上访问我的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标头规范中收集和报告远程地址的事情?这是预期的正常行为吗?
答案 0 :(得分:5)
这绝对是因为反向代理。
反向代理(我经常使用BigIPs和Apache mod_proxy模式)通常会将所有插入的IP附加到列表中,以便您可以在代码中选择正确的IP。
例如,您可能希望找到要登录到webstats应用程序的公用文件,因此它位于REMOTE_ADDR中。但是你也有内部IP,所以你知道它来自哪个负载均衡器,哪个内部服务器用于某种内部网络跟踪等等。