首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >特定于bingbot请求的奇怪的nginx行为

特定于bingbot请求的奇怪的nginx行为
EN

Stack Overflow用户
提问于 2016-05-04 12:52:18
回答 1查看 262关注 0票数 0

我们在nginx原木上发现了一些奇怪的东西。一些只来自bingbot的请求直接进入后端,但是如果我们从curl中触发这个请求,它们就会像往常一样处理。请看一下配置。

我有两个服务器,一个(server1)如果前端,它代理一些请求到server2和一些请求自行处理。

请查看服务器1配置:

代码语言:javascript
复制
server {   
  listen  80;# default_server;

  proxy_set_header        X-Real-IP       $remote_addr; 
  proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;   
  proxy_set_header        Host            $host;

  server_name myservername.com;

     location / {
         index  index.html;
         root /var/www/apps/delta/shared/public;

         if (-f $request_filename/index.html) {
           rewrite (.*) $1/index.html break;
         }

         if (-f $request_filename.html) {
           rewrite (.*) $1.html break;
         }

         if (!-f $request_filename) {
           proxy_pass http://cloud;
           break;
         }   
    }

    location /store/index/ {
      index  index.html; 
      root /var/www/apps/delta/shared/public;

      if (-f $request_filename/index.html) {
        rewrite (.*) $1/index.html break;
      }

      if (-f $request_filename.html) {
        rewrite (.*) $1.html break;
      }

      if (!-f $request_filename) {
        proxy_pass http://delta;
        break;
      }
   }

}

server2的配置文件很简单,在上游处理请求,没有什么有趣的。

与这种配置一样: nginx需要处理从'/store/index‘开始的请求,比如上游的"delta“处的http://myservername.com/store/index/category/898/author/989,他就这样做了。但是:对于bing请求,他忽略了对上游云(server2)的位置/存储/索引和代理请求。

查看一下: Server1日志:

代码语言:javascript
复制
157.55.39.83 - - [04/May/2016:15:33:45 +0300] "GET /store/index/category/67/author/6 HTTP/1.1" 200 12150 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"

Server2日志,一点点自定义日志,x.x-我的前端ip:

代码语言:javascript
复制
x.x.x.x - - [04/May/2016:15:33:45 +0300]  "GET /store/index/category/67/author/6 HTTP/1.0" 200 12137 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" "myservername.com" 5.045

我们所看到的:

  1. server2的nginx代理请求
  2. bingbot请求http 1.0版本
  3. --这是一个被禁止的请求,而不是从bingbot到server1,同时又到server2的两个请求。
  4. 在我从另一台服务器发出相同的请求之后:curl-0 -v http://myservername.com/store/index/category/67/author/6就可以了,只有server1处理这个请求,而nginx没有将它代理到server2。

我完全糊涂了。位置就像我通常需要的用户请求一样工作。而且,由于未知的原因,并且仅对于bingbot请求,它将它们代理到server2。请告诉我,也许bingbot发送一些标题,或在配置方面有什么问题?非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2016-05-13 13:54:55

看来宾的请求是通过。通过https版本-我编辑了https配置,现在一切都很好。谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37028404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档