請問在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)
《解決方案》
樓上看清楚標題
我是要限制文件類型,而不是整個目錄
請不要隨便從網上複製一段就貼上來