2016-05-04 4 views
0

wir haben in nginx logs etwas Seltsames gefunden. Einige Anfragen nur von Bingbot gehen direkt zum Backend, aber wenn wir diese Anfragen von curl abfeuern, werden sie wie gewöhnlich verarbeitet. Bitte werfen Sie einen Blick auf die Konfiguration.Seltsames nginx-Verhalten, das spezifisch für Bingbot-Anfragen ist

Ich habe zwei Server, einen (Server1) wenn Frontend und es einige Anfragen an Server2 Proxy und einige Anfragen verarbeiten von selbst.

Bitte werfen Sie einen Blick Server 1 config:

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

} 

Config-Datei für server2 einfach, Prozessanforderungen an stromaufwärts und nichts interessant.

Wie es mit dieser Konfiguration sein muss: Nginx muss Anfragen von '/ store/index' wie http://myservername.com/store/index/category/898/author/989 bei Upstream "Delta" verarbeiten, und er es tun. ABER: für bing Anfragen ignoriert er Standort/store/Index und proxy'ing Anfrage an vor- Wolke (server2)

Werfen Sie einen Blick: Server1 log:

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 log, wenig benutzerdefiniertes Protokoll, xxxx - mein Frontend 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 

Was wir sehen:

  1. nginx proxy'ing Anfrage an se rver2
  2. BingBot Anfrage http 1.0 Version
  3. dieses Anfrage proxed ist und nicht zwei von BingBot auf server1 und gleichzeitig server2.
  4. , nachdem ich die gleiche Anfrage von einem anderen Server machen: curl -0 -v http://myservername.com/store/index/category/67/author/6 alle ist ok, nur server1 Prozess diese Anfrage und nginx nicht proxy'ing dies server2.

Ich bin total verwirrt. Der Standort funktioniert so, wie ich es normalerweise für Benutzeranfragen benötige. Und aus unbekannten Gründen und nur für Bingbot-Anfragen wird sie an server2 weitergeleitet. Bitte sagen Sie mir vielleicht Bingbot einige Header senden oder was falsch in der Konfiguration? Danke vielmals!

Antwort

0

Es scheint, dass Bing Anfrage über. über HTTPS-Version - Ich bearbeite meine https-Konfiguration und alles ist jetzt gut. Danke

Verwandte Themen