阻止空白用户代理,但允许通过静态特定的网址

时间:2019-06-03 10:54:47

标签: nginx nginx-config

我正在研究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;
    }
}

谢谢

0 个答案:

没有答案