"Diary" インターネットさんへの恩返し

いつもソースコードコピペばかりなので,みなさまへ少しばかりの恩返しを

【解決法】nginxでvalid_referers設定をすると「conflicting parameter」エラーがでる



スポンサーリンク

nginxでサイトの画像の直アクセス対策(外部からのリンクや、wgetなどをつかった直接ダウンロード)のために以下の設定をした。

    location ~.*\.(gif|jpe?g|png)$ {
        valid_referers server_names mydomain.com;
        if ($invalid_referer) {
            return 403;
        }
    }

すると以下のエラーが

$ sudo nginx -t
nginx: [emerg] conflicting parameter "mydomain.com" in /etc/nginx/nginx.conf:90
nginx: configuration file /etc/nginx/nginx.conf test failed

原因は、mydomain.comの部分は正規表現をする必要があるとのこと。そのため以下のように書くのが正しい。

valid_referers server_names ~\mydomain\.com;

wgetで試して403のforbiddenがでればOK.