Я просто работаю над выбором if, чтобы блокировать пустые запросы пользовательских агентов, проходящих через обратный прокси-сервер nginx.
У меня отсортировано заявление if, но мы получаем пару подлинных запросовна конкретный URL с пустым UA, который мне еще нужно пропустить.
Только пользовательский агент:
if ($http_user_agent = "") { return 403; }
Возможно ли это сделать только с помощью оператора if?Я пытался объединить if с AND, но не смог получить синтаксис и не уверен, поддерживает ли его оператор if.
Я попробовал следующую конфигурацию, используя блоки местоположения, но не радует, что она работает, как будто оператор if принимает прецедент над блоком местоположения для john.htm (я думал, что это установит это как разрешениевведите команду).
server {
listen 172.28.36.92:443 ssl http2;
server_name mydomain;
if ($http_user_agent = "") { return 403; }
location /john.htm {
proxy_pass https://myupstream;
}
location / {
proxy_pass https://myupstream;
}
}
Спасибо