Nginx で、他のすべてのトラフィックを PHP バックエンドに向けたまま、Googlebot トラフィックを Varnish バックエンドにプロキシするにはどうすればよいですか?
私はこのようなものが欲しいです:
try_files $uri $uri/ /index.php;
if ($http_user_agent ~* Googlebot) {
proxy_pass http://varnish;
}
location ~* \.php$ {
fastcgi_pass 127.0.0.1:9000;
}
ただし、コンテキストでは許可されていないserverため、上記はコンテキストでは機能しません。proxy_passserver
上記をブロックでラップすると、location / {}ブロック内にif悪が発生します。(私はそれを試してみましたが、時々うまくいきましたが、断続的で予測できませんでした。)locationif
これを機能させる方法はありますか?