我正在研究if选择,以阻止空白的用户代理请求通过我们的nginx反向代理。
我已经对if语句进行了排序,但是我们收到了一些针对特定网址的真正请求,这些请求带有空白的UA,我仍然需要让其通过。
只是用户代理:
if ($http_user_agent = "") { return 403; }
是否可以仅使用if语句?我正在尝试将if与AND结合在一起,但是无法获取语法,并且不确定if语句是否支持它。
我已经尝试过使用位置块进行以下配置,但是让它运行起来并不高兴,就像if语句优先于john.htm的位置块一样(我认为这会将其设置为allow type命令)
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;
}
}
谢谢