nginx リファラー チェック エラー: 不明なディレクティブ "if($invalid_referer)"

nginx リファラー チェック エラー: 不明なディレクティブ "if($invalid_referer)"

nginx で特定のリクエスト リファラーを許可するように設定しようとしています。

nginxのバージョンは1.12.2です。

OSはAmazon Linuxです。

私のconfファイルは以下のようなものです。

server {
    listen       80;
    server_name  localhost;
    charset utf-8;

    #access_log  logs/host.access.log  main;

    valid_referers none server_names 123123123.com

    if($invalid_referer){
        return 403;
    }

    location / {
        root   /home/www;
        index  index.html index.htm;
    }

    ...etc...

エラーログは以下のようになります。

nginx: [emerg] unknown directive "if($invalid_referer)" in /usr/local/nginx/conf/nginx.conf:54

どこが間違っていたのか指摘していただけますか?

答え1

nginx が伝えているのは、nginx.conf の 54 行目です。次を試してください:

if ($invalid_referer) {

関連情報