歡迎您光臨本站 註冊首頁

請問在Nginx里如何限制某一個文件的連接數

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

請問在Nginx里如何限制某一個文件的連接數

nginx version: nginx/0.7.65

安裝了NginxHttpLimitZoneModule


比如我想限制/bbs/index.php的連接數,我使用
server{
.......
    location ~ ^/bbs/index.php$
    {
        limit_conn   index  1;
    }

    location ~ \.php$ {
            root           html;
            fastcgi_pass   unix:/dev/shm/php-cgi.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /home/xxx/public_html$fastcgi_script_name;
            include        fastcgi_params;
        }
.........
}
可是這樣把php的源代碼都泄漏出來了

請問怎麼樣才能限制某一個php文件的連接數
不知道應該怎麼樣
《解決方案》

limit_zone   limit  $binary_remote_addr  10m;
server {
location /download/ {
limit_conn   limit  1;
}
limit_zone   limit  $binary_remote_addr  10m;
定義一個叫「limit」的記錄區,總容量為 10M,以變數 $binary_remote_addr 作為會話的判斷基準(即一個地址一個會話)。
您可以注意到了,在這裡使用的是 $binary_remote_addr 而不是 $remote_addr。
$remote_addr 的長度為 7 至 15 bytes,會話信息的長度為 32 或 64 bytes。 而 $binary_remote_addr 的長度為 4 bytes,會話信息的長度為 32 bytes。
當區的大小為 1M 的時候,大約可以記錄 32000 個會話信息(一個會話佔用 32 bytes)。
limit_conn   limit  1;
指定一個會話最大的併發連接數。 當超過指定的最發併發連接數時,伺服器將返回 "Service unavailable" (503)
《解決方案》

樓上看清楚標題
我是要限制文件類型,而不是整個目錄

請不要隨便從網上複製一段就貼上來

[火星人 ] 請問在Nginx里如何限制某一個文件的連接數已經有321次圍觀

http://coctec.com/docs/service/show-post-18766.html