- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день.
Нужен совет по поводу защиты прямых ссылок на видео.
Сделал почти все, по порядку.
Сборка Nginx-apache-php
Настроил nginx на стриминг flv , все работает замечательно.
Ссылка типа http://site.ru/video/34b80e5207a997bfdfc3e48dca77fa34/1.flv
Плеер от Uppod
location ~ \.flv$ {
root $root_path;
rewrite '^/video/([A-Za-z0-9_]{1,255})/(.+)$' /get.php?hash=$1&filename=$2 break;
limit_conn one 3;
set $limit_rate 500K;
}
после запроса nginx редиректит на файл обработчик: get.php
все работает супер, фильм показывается в плеере Uppod.
Но после того как я ставлю запрет на прямой доступ к папке video в локейшн nginx, чтобы запросы шли только внутренние , все перестает работать.
Доступ запрещает. В плеере от Аппода пишет файл не найден.
location ^~ /video/ {
root $root_path;
internal;
}
Может кто то может дать совет, уже два дня мучаюсь :(
Все заранее большое спасибо.
Ниже конфиг nginx:
---------------------------------------------------------------------------------
user apache;worker_rlimit_nofile 100000;
error_log /var/log/nginx/error.log;
#error_log /var/log/nginx/error.log notice;
#error_log /var/log/nginx/error.log info;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
use epoll;
}
worker_processes 4;
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
server_tokens off;
gzip on;
gzip_static on;
gzip_comp_level 5;
gzip_min_length 1024;
keepalive_timeout 30;
directio 10m;
expires max;
limit_conn_zone $binary_remote_addr zone=one:10m;
limit_rate 500K;
# Load config files from the /etc/nginx/conf.d directory
include /etc/nginx/conf.d/*.conf;
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
include /usr/local/ispmgr/etc/nginx.domain;
client_max_body_size 16M;
log_format isp '$bytes_sent $request_length';
server {
server_name site.ru www.site.ru;
listen xx.xx.xx.xx;
disable_symlinks if_not_owner from=$root_path;
set $root_path /var/www/vvv/data/www/site.ru;
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root $root_path;
access_log /var/www/nginx-logs/vvv isp;
access_log /var/www/httpd-logs/site.ru.access.log ;
error_page 404 = @fallback;
}
location / {
root $root_path;
proxy_pass http://xx.xx.xx.xx:81;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location ~* ^/(webstat|awstats|webmail|myadmin|pgadmin)/ {
proxy_pass http://xx.xx.xx.xx:81;
proxy_redirect http://xx.xx.xx.xx:81/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location @fallback {
proxy_pass http://xx.xx.xx.xx:81;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location ~ \.flv$ {
root $root_path;
rewrite '^/video/([A-Za-z0-9_]{1,255})/(.+)$' /get.php?hash=$1&filename=$2 break;
limit_conn one 3;
set $limit_rate 500K;
}
location ^~ /video/ {
root $root_path;
internal;
}
include /usr/local/ispmgr/etc/nginx.inc;
}
}
---------- Добавлено 01.01.2014 в 18:39 ----------
Заметил, что после вот этого блока
location ^~ /video/ {
root $root_path;
internal;
}
запрос не передается обработчику get.php , а просто пишет 404 ошибку
а не должен
root $root_path;
internal;
}
быть выше блока с .flv ?
Не помогло, я уже что только не пробовал
Попробовал прямо с блока локейшн отдавать файл
location ~ \.flv$ {
root $root_path;
rewrite '^/video/([A-Za-z0-9_]{1,255})/(.+)$' /video/$2 break;
internal;
flv;
limit_conn one 3;
set $limit_rate 500K;
}
Без internal; файл отдается, как только пишу интернал, так сразу ошибка 404
не передает запрос файлу обработки, и во втором случае без файла обработки должен отдавать файл он его не отдает, ошибка 404
В плеере пишет 1.flv не найден
Вот с дебагера плеера :
0x4294967295 NetStream.Play.StreamNotFound / 0
play: http://site.ru/video/34b80e5207a997bfdfc3e48dca77fa34/1.flv
NetConnection.Connect.Success /
StageVideo unavailable
Спасибо Вам большое. Все заработало как часики. Я даже не ожидал, вот , что значит человек шарит.
Я два дня пыхтел и ничего не получалось, еще не знаю на сколько бы меня хватило. СУПЕР.
Я счастлив!!!!🍿
С меня пиво :)