在Ruby和Rails中获取服务器公共IP

时间:2016-03-18 07:30:19

标签: ruby-on-rails ruby ip

我在ROR中创建了一个页面,该页面将从IFRAME中的某个网站加载。该页面将仅显示给某些列入白名单的服务器。

我想获取服务器的公共IP(从IFRAME请求),以便我可以将内容返回到一些列入白名单的IP。

我尝试了this SO answer,但它提供服务器的私有IP而不是PUBLIC IP。

还检查了request变量,但它有客户端IP(访问该站点的计算机的IP)而不是服务器的公共IP。

使用Ruby v2.1.5.Rails v3.2

2 个答案:

答案 0 :(得分:1)

你做不到。它不是请求IFrame内容的服务器,而是客户端。

答案 1 :(得分:0)

您可以使用hacky方式来执行此操作。您可以显式发送服务器IP以及响应。因此,当您加载页面时,您可以缓存IP,然后将其与iframe页面的请求一起发送。

例如,您可以生成iframe的请求网址

//www.yourdomain.com/your/path?request_ip=<IP that you cached earlier>

但它只是一种hacky方式,只有在你可以控制IFrame的请求网址时它才会起作用。