0

将 CloudFoundry 与 Nginx 一起使用,我们试图在 grails 中获取 X-Forwarded for 标头,但我们似乎无法这样做。它要么是空白要么是 Nginx 服务器的 IP 地址。

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

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

有没有一种方法可以获取链中 IP 的 X-Forwarded 列表(Nginx 不会窃取它们),或者有没有一种方法可以在 Nginx 上创建一个服务,我们可以查询该服务以获取 X-Forwarded-For请求的标头,或者我们可以为 Nginx 创建一个“插件”来创建一个新的标头(X-Nginx-Forwarded-For)?

4

1 回答 1

0

我从来没有使用过 Nginx,但看起来你可以很容易地向终端服务器的代理请求添加自定义标头。http://wiki.nginx.org/HttpProxyModule

于 2013-08-12T14:48:27.773 回答