configファイル場所
/etc/nginx/conf.d/ssl.conf(またはhttp.conf)
htmlファイルをphpで動かす
location ~ [^/]\.php(/|$) {
↓
location ~ [^/]\.(php|html|htm)(/|$) {
index.htmlをindex.phpよりも優先したい場合
index index.php index.html index.htm;
↓
index index.html index.htm index.php;
画像、css、jsなどへの直リンク禁止(google、yahoo、facebookなどは許可)
location ~* \.(jpg|jpeg|gif|png|css|js|swf|ico|pdf|svg|eot|ttf|woff)$ {
expires 60d;
access_log off;
}
↓
location ~* \.(jpg|jpeg|gif|png|css|js|swf|ico|pdf|svg|eot|ttf|woff)$ {
valid_referers none blocked server_names ~\.mysite\. ~\.google\. ~\.yahoo\. ~\.bing\. ~\.facebook\. ~\.fbcdn\.;
if ($invalid_referer){
return 403;
}
expires 60d;
access_log off;
}
※「mysite」の箇所は、自サイトの名前に置きかえる。「mysite.com」なら「mysite」とする
ちゃんとアクセス拒否できているかコマンドから確認
●拒否
curl --referer http://dummy.com https://mysite.com/img.jpg
●OK
curl --referer https://labs.manohara.info/ https://mysite.com/img.jpg
php-fpmのconf書き換え
/etc/php7-fpm.d/www.conf
; security.limit_extensions = .php .php3 .php4 .php5 .php7 .php8
↓
security.limit_extensions = .php .php3 .php4 .php5 .php7 .php8 .html .htm
confの文法チェック
nginx -t
変更した設定を再読み込み
kusanagi restart
※kusanagi OSの場合