آموزش های هاست سرور و غیره

مرکز آموزش هاست لاین
اعمال محدودیت برای سرعت دانلود
نویسنده:
۶ مرداد ۹۵

برخی از دوستان که سرور دانلود پریمیوم و معمولی همزمان کنار هم دارند،‌تمایل به اعمال محدودیت بر روی سرورهای معمولی خود هستند تا کاربران برای خرید اکانت پریمیوم ترغیب شوند و یا اهدافی از قبیل جلوگیری از دیداس با سرعت بیش از حد با استفاده از محدود کردن سرعت دانلود و تعداد کانکشن ها شوند و یا موارد دیگر.

با ماژول ngx_http_limit_req می‌توان محدودیت هایی روی اتصالات (Connections) و درخواست ها (Requests) کاربران به صورتی که تمایل داریم اعمال کرد.

سناریو اول: محدود سازی سرعت کاربران به ۱ مگابایت بر ثانیه

قبل از شروع بلاک Server یعنی بلاک Http مقدار زیر را تعریف کنید.

limit_req_zone $binary_remote_addr zone=JZ:10m ;

در VirtualHost (بلاک Server یا Location) بصورت زیر عمل کنید:

limit_rate 1024k;

 

سناریو دوم: محدود سازی سرعت کاربران به ۱ مگابایت بر ثانیه پس دانلود ۱۰۰ مگابایت فایل و محدود سازی تعداد کانکشن به ۴ عدد

قبل از شروع بلاک Server یعنی بلاک Http مقدار زیر را تعریف کنید.

limit_req_zone $binary_remote_addr zone=JZ:10m ;

در VirtualHost (بلاک Server یا Location) بصورت زیر عمل کنید:

limit_rate_after 100m;
limit_conn JZ 4;
limit_rate 256k;

یک نمونه از Config فایل هایی که برای محدود سازی سرعت دانلود در یک سایت استفاده کردم را به اشتراک میگذارم.

limit_conn_zone $binary_remote_addr zone=addr:10m;
server {

server_name dl.*******com;
server_tokens off;
listen 80 ;
root /var/www/dl.******.com/www;
location ~* / {
autoindex off;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 60;
limit_rate_after 50m;
limit_rate 256K;
limit_conn addr 8;
}

}

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *