如果标头不存在,则nginx拒绝请求

时间:2016-02-11 14:29:52

标签: nginx

如果标头StaticCookie不存在,我需要nginx拒绝请求。我不关心它的价值,我只需要它存在。

我想出的是这个,但这不起作用。 Nginx允许没有标题的请求。

    if ($http_StaticCookie = false) {
      return 403;
    }



    root /usr/share/asuno/www;

    location ~* /css/ {
        expires max;
    }

    location ~* /js/ {
        expires max;
    }

我看过这篇文章 - Nginx: Reject request if header is not present or wrong - 但它处理已定义的标头值。我需要的是检查标题的存在。

我尝试将location指令放在if子句中,但是后来nginx会在尝试读取配置时抛出错误。

如何做到这一点?

1 个答案:

答案 0 :(得分:9)

Alexey Ten的评论是正确的,谢谢。

if ($http_StaticCookie = "") { return 403; }