ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Nginx перед IIS


  • To: nginx-ru@xxxxxxxxx
  • Subject: Nginx перед IIS
  • From: "ValeriyZ" <nginx-forum@xxxxxxxx>
  • Date: Wed, 01 Jun 2011 06:47:24 -0400
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mickey.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=95aCtpZppWlqNp291oAaI9LDtE26c4ccODPS9Xg6pBY=; b=R7y5J+VjR9jZVTqnTb+z8zuzkzzfthA0zlI9ZS59NKzPQSpjZQUX8WBr95llCXCr1tf9gbYNU/uLl1gxSIiMzbKYAM1SPm4HI1kP84ME/oApobPGpz7pp462xvZSAHOM;

Использую IIS для стриминга .mp4 и .flv 
файлов. Главное его преимущество ?
стабильная работа и абсолютно не
требует ресурсов. Да от беда, IIS не
может: скорость резать на одно
подключение; Довнлоад мастер
блокировать; ссылки с чужих сайтов на
файлы блокировать и т.д.

Можно воспользоваться nginx, но тут тоже
беда. Nginx может отдавать только .flv
файлы. Появилась идея отдавать .flv через
Nginx а файлы .mp4 через прокси (backend)
направлять на IIS. Попробовал, все
работает замечательно. Правда
чувствуется нагрузка на проц да и
оперативку подкушивает. Большую
нагрузку (250-500 онлайн просмотров) еще не
давал. Основные задачи которые
хотелось бы возложить на Nginx:

- блокировать ссылки на видео с чужих
сайтов;

- блокировать не желательные user-agent;

- резать скорость на один поток видео;

- ограничить количество потоков на один
IP адрес;

Но из перечисленных пунктов у меня
получилось реализовать только
блокировку по user-agent.

Скажите пожалуйста, возможно под
Виндовс Nginx реализовать оставшиеся 3
пункта? Если да то ниже мой конфиг (на
определенном модернизации) подскажите
что я не так делаю:

 

worker_processes  1;

events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;
limit_zone one $binary_remote_addr 10m;

sendfile on;
#sendfile_max_chunk 1m;
#tcp_nopush on;

# keepalive_timeout 0;
keepalive_timeout 30;

upstream backend {
    server 127.0.0.1:83;
     }

    server {
listen 81;
server_name localhost;

location /nginx_status {
stub_status on;
access_log on;
}

#valid_referers none blocked localhost;
#if ($invalid_referer) {
#return 503;
#}

# Блокируем менеджеры загрузки
if ($http_user_agent ~* LWP::Simple|BBBike|wget) {
return 503;
     }

location ~* \.(html|flv)$ {
root Z:/media;
index index.html index.htm;
   
limit_rate_after 5m;
limit_rate 2m;
limit_conn one 1;

if ($http_user_agent ~ MozillaXXX/5.0) {
return 503;
}
    
valid_referers none blocked localhost;
if ($invalid_referer) {
return 503;
}

error_page 403 404 http://mysite.ru:83/filmi.mp4;
   }

# Передача запроса серверу IIS
  location /{
# Адрес сервера  IIS
proxy_pass http://backend/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 120;
proxy_send_timeout 120;
proxy_read_timeout 180;
client_max_body_size 10m;
client_body_buffer_size 128k;
   
limit_rate_after 5m;
limit_rate 2m;
#set $limit_rate 2m;
limit_conn one 1;

valid_referers none blocked localhost;
if ($invalid_referer) {
return 503;
}
error_page 503 http://mysite.ru:83/filmi.mp4;
   }


  }

}

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,202733,202733#msg-202733


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.