@zzmaster

Как настроить белый список рефереров в nginx?

Требуется ограничить доступ к видео - разрешить доступ с только с нескольких сайтов. Вроде бы директива valid_referers, но что-то у меня не получается. Вот код конфига, упрощенный:

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    

	upload_progress proxied 1m;
	server_names_hash_bucket_size 128;
	proxy_buffering off;



	server {
		server_name example.com www.example.com;
		listen 11.22.33.44;
		charset CP1251;
		index index.php;
		set $root_path /var/www/lalafa/data/www/example.com;

		location / {
			proxy_pass         http://11.22.33.44:81;
			proxy_redirect     default;
			proxy_set_header   Host             $host;
			proxy_set_header   X-Real-IP        $remote_addr;
			client_max_body_size       500m;
			client_body_buffer_size    128k;
			proxy_connect_timeout      90;
			proxy_send_timeout         900;
			proxy_read_timeout         900;
			proxy_buffer_size   4k;
			proxy_buffers              4 32k;
			proxy_busy_buffers_size    64k;
			proxy_temp_file_write_size 64k;
			charset         off;
			track_uploads proxied 30s;
		}
		
		location ~* ^.+\.(mp4)$ {
			mp4;
			root $root_path;
		}
		
		location ~* ^.+\.(flv)$ {
			flv;
			root $root_path;
		}
		
		location ~* ^/uploads/video/(site1|site3)/{
			mp4;
			root $root_path;
			limit_rate 	150k;
		}
		
		location ~* ^/uploads/(video|man)/{
			mp4;
			root $root_path;
			limit_rate      100k;
			valid_referers none blocked www.example.com example.com;
        }
		
        location ~* ^/uploads/(video|man)/{
			flv;
			root $root_path;
			limit_rate      100k;
        }
	}
}

конфиг писал не я, мне непонятно, зачем отдельные locations типа /upload/ где дальше и хранятся видео, можно ли содержимое объединить в секциях mp4/flv?

и еще - зачем первым параметром в внутри location mp4 - повторяется "mp4;"? нигде в инете не нашел подобных примеров, оно там надо?

valid_referers пробовал вставлять и в секцию mp4 и в /upload/.. - все равно видео отдается с левого домена, поможите плиз..
  • Вопрос задан
  • 658 просмотров
Пригласить эксперта
Ответы на вопрос 2
POS_troi
@POS_troi
СадоМазо Админ, флудер, троль.
и еще - зачем первым параметром в внутри location mp4 - повторяется "mp4;"

nginx.org/ru/docs/http/ngx_http_mp4_module.html

Так как не указали свой вариант пункта про valid_referers то ссылка на доки, работает оно усё нормально.
nginx.org/ru/docs/http/ngx_http_referer_module.htm...
Ответ написан
Комментировать
@zzmaster Автор вопроса
нашел ошибку - в секциях не хватает
if ($invalid_referer) {
                    return   403;
                }


за пояснения - спасибо
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы