在调试我的 Rails 应用程序时,我经常注意到,当我发出请求时,大约 4 秒后,同一个页面会从10.x.x.x
IP 地址发出请求。我在 Google 上搜索了 IP 地址,如果我理解正确的话,它是一个路由器。我觉得这很奇怪。有人能解释一下这是什么吗?
摘自我的 Rails production.log:
Started GET "/blogs/71" for (My IP address) at Sun Oct 09 12:14:12 +0000 2011
Processing by BlogsController#show as HTML
Parameters: {"id"=>"71"}
Rendered shared/_google_maps.html.erb (0.2ms)
Rendered blogs/_comments.html.erb (22.0ms)
Rendered blogs/_comment_form.html.erb (2.9ms)
Rendered shared/_header.html.erb (23.8ms)
Rendered shared/_menu.html.erb (0.1ms)
Rendered shared/_footer.html.erb (0.3ms)
Rendered blogs/show.html.erb within layouts/application (155.2ms)
Completed 200 OK in 157ms (Views: 155.0ms | ActiveRecord: 1.1ms)
Started GET "/blogs/71" for 10.36.219.118 at Sun Oct 09 12:14:16 +0000 2011
Processing by BlogsController#show as
Parameters: {"id"=>"71"}
Rendered shared/_google_maps.html.erb (0.1ms)
Rendered blogs/_comments.html.erb (16.1ms)
Rendered blogs/_comment_form.html.erb (12.0ms)
Rendered shared/_header.html.erb (0.1ms)
Rendered shared/_menu.html.erb (0.1ms)
Rendered shared/_footer.html.erb (0.2ms)
Rendered blogs/show.html.erb within layouts/application (123.2ms)
Completed 200 OK in 152ms (Views: 132.5ms | ActiveRecord: 1.1ms)
不知道是否相关,但服务器是 Ubuntu,Web 服务器是带有 Passenger 和 REE 的 nginx。
我在发生这种情况的页面上进行了重新验证,这可能是导致这种情况的原因吗?
不确定这是否偏离主题。如果是的话,我提前道歉。
答案1
我首先会跟踪整个堆栈中的请求路径。它可能看起来像这样:
- 该请求在 Websrv 上的 TCP/80 处接收。
- Nginx 绑定到 TCP/80 并处理请求
- 该请求由配置文件中的这些特定指令处理
- 请求被传递给 Passenger,然后进入 Ruby 环境
如果我不得不猜测问题可能出在哪里(我确实不得不猜测),我会把赌注押在上面的 3 号上。nginx 配置中的某些东西导致请求重复并再次出现,并且 IP 地址在中途发生变化。
然后检查您的配置,看看这 10 个地址到底来自哪里;它可能被分配给您服务器上的不同 NIC、某个代理引擎或网络上完全不同的设备。找到该 IP 地址将有助于隔离双重请求问题。
答案2
10.XXX 是本地网络地址,因此如果不在您的建筑物内,我们就无法从这里判断它是什么
查看 nginx 访问日志 - nginx 是否记录了多个请求?如果是这样,查看用户代理字符串应该会告诉你是什么软件发出了这些请求