2016-05-04 3 views
0

私たちはnginxログで何か変わったものを見つけました。 bingbotからのリクエストの中にはバックエンドに直接行くものもありますが、このリクエストをカールから発した場合、通常は処理されます。設定を見てください。bingbotリクエストに固有のnginxの奇妙な動作

私は2つのサーバーを持っています。フロントエンドの場合は1つ(server1)、それはserver2へのリクエストの一部をプロキシしています。

見サーバ1設定を行ってください:server2のため

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; 
     } 
    } 

} 

設定ファイルは、上流と何も面白いのプロセス要求に簡単です。

この設定でなければなりません:nginxは、アップストリームの "delta"でhttp://myservername.com/store/index/category/898/author/989のように '/ store/index'から開始されたリクエストを処理する必要があります。しかし:ビング要求のために彼は場所/店舗/インデックスとクラウド(サーバー2)を上流へproxy'ing要求を無視

を見てみましょう: Server1にログを:

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のログ、少しのカスタムログ、 XXXX - 私のフロントエンドIP:私たちが見る何

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 

:SEへの要求をproxy'ing

  1. nginxのrver2
  2. bingbot要求HTTP 1.0 バージョン
  3. これは1であるserver2のに要求をproxedはなく、2 bingbot からSERVER1に、同じ時間。私は別のサーバーから同じ 要求行った後
  4. :-0 -v http://myservername.com/store/index/category/67/author/6すべてのカールはokです、 のみのserver1プロセス、この要求とnginxの SERVER2にこれをproxy'ingありません。

私は完全に混乱しています。通常はユーザーの要求に必要なように、場所が機能しています。そして、未知の理由で、bingbotの要求に対してのみ、それをserver2にプロキシします。おそらくbingbotがいくつかのヘッダーを送ったり、設定に何が間違っているのか教えてください。どうもありがとう!

答えて

0

経由でビングリクエストがあるようです。 httpsバージョンを介して - 私は自分のhttpsの設定を編集し、すべてがうまくいきました。ありがとうございました