CloudFoundry / Nginx / Grails and the X-Forwarded Header (Mi



使用CloudFoundry和Nginx,我们试图在grails中获得X-Forwarded for header,但我们似乎无法做到。它要么是空白的,要么是Nginx服务器的IP地址。

我们经常创建允许用户投票的网站,我们希望确保他们只投票一次。因此,我们希望使用他们的网络网关(路由器)ip地址和X-Forwarded-For(内部)ip地址的组合,这样我们就可以检查人们是否已经投票,而不必因为一票而阻止他们的整个网络投票。

不幸的是,cookie已被证明是不可靠的,因为用户倾向于使用incogneto窗口进行投票。使用本地存储也被证明是不成功的,因为客户往往会删除他们的"网站数据"以便再次投票。唯一的另一种选择是强迫他们创建一个帐户并验证他们的电子邮件地址,这对进入来说太难了。

我们有没有办法获得链中IP的X-Forwarded列表(而不是Nginx窃取它们),或者有没有办法在Nginx上创建一个服务,我们可以查询该服务以获得请求的X-Forward-for标头,或者我们可以为Nginx创建一个"插件"来创建一个新标头(X-Nginx-Forwarded-for)?

我从未使用过Nginx,但看起来您可以很容易地将自定义标头添加到代理请求到最终服务器。http://wiki.nginx.org/HttpProxyModule

最新更新