Назад | Перейти на главную страницу

Настройка NGINX для выбора между обслуживанием статических файлов / прокси на серверной части на основе пользовательского агента

Мне нужно обслуживать статический файл (index.html), чтобы реагировать на него всем, кроме google, facebook и twitter (плюс небольшой список других хороших ботов).

Моя идея заключалась в том, чтобы использовать что-то вроде

   if ($http_user_agent!~* (Google|Facebot|Twitterbot)) 
   {
        try_files $uri $uri/ /index.html;
   }
   proxy_pass http://127.0.0.1:3003/;
   ...

Хорошее решение, но, очевидно, если это зло, и я не могу использовать внутри него try_files (получение ошибки при запуске конфигурации). Я попытался изменить логику и сделать proxy_pass внутри if, но результат тот же.

Как лучше всего разрешить эту ситуацию?