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:
- nginx proxy'ing Anfrage an se rver2
- BingBot Anfrage http 1.0 Version
- dieses Anfrage proxed ist und nicht zwei von BingBot auf server1 und gleichzeitig server2.
- , 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!