1

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

これを機能させる方法はありますか?

4

1 に答える 1