aboutsummaryrefslogtreecommitdiff
path: root/src/vmod-tbf.3
diff options
context:
space:
mode:
Diffstat (limited to 'src/vmod-tbf.3')
-rw-r--r--src/vmod-tbf.315
1 files changed, 12 insertions, 3 deletions
diff --git a/src/vmod-tbf.3 b/src/vmod-tbf.3
index 6ab2f63..03d7daf 100644
--- a/src/vmod-tbf.3
+++ b/src/vmod-tbf.3
@@ -13,7 +13,7 @@
13.\" 13.\"
14.\" You should have received a copy of the GNU General Public License 14.\" You should have received a copy of the GNU General Public License
15.\" along with vmod-tbf. If not, see <http://www.gnu.org/licenses/>. 15.\" along with vmod-tbf. If not, see <http://www.gnu.org/licenses/>.
16.TH VMOD-TBF 1 "November 1, 2014" "VMOD-TBF" "User Reference" 16.TH VMOD-TBF 1 "November 13, 2014" "VMOD-TBF" "User Reference"
17.SH NAME 17.SH NAME
18vmod-tbf \- token bucket filtering for Varnish 18vmod-tbf \- token bucket filtering for Varnish
19.SH SYNOPSIS 19.SH SYNOPSIS
@@ -78,7 +78,7 @@ The function returns \fBTRUE\fR if the data are accepted and
78.EX 78.EX
79sub vcl_recv { 79sub vcl_recv {
80 if (!tbf.rate("ip:" + client.ip, 1, 0.1s, 20)) { 80 if (!tbf.rate("ip:" + client.ip, 1, 0.1s, 20)) {
81 error 429 "Request rate exceeded." 81 error(429, "Request rate exceeded");
82 } 82 }
83} 83}
84.EE 84.EE
@@ -87,6 +87,15 @@ This example will keep the incoming requests at the rate of 10 requests
87per second, allowing for bursts of up to 20 requests after each 2 87per second, allowing for bursts of up to 20 requests after each 2
88second (or longer) period of inactivity. 88second (or longer) period of inactivity.
89.PP 89.PP
90For VCL 4.0, replace
91.EX
92 error(429, "Request rate exceeded");
93.EE
94with
95.EX
96 return(synth(429, "Request rate exceeded"));
97.EE
98.PP
90The \fBtbf.check\fR function provides a higher-level interface. Its 99The \fBtbf.check\fR function provides a higher-level interface. Its
91first argument identifies the bucket. The \fIrate\fR argument is a 100first argument identifies the bucket. The \fIrate\fR argument is a
92textual rate specification in the form: 101textual rate specification in the form:
@@ -104,7 +113,7 @@ ten and a half requests per second:
104.EX 113.EX
105sub vcl_recv { 114sub vcl_recv {
106 if (!tbf.check(client.ip, "10.5 req/1s")) { 115 if (!tbf.check(client.ip, "10.5 req/1s")) {
107 error 429 "Request rate exceeded." 116 error(429, "Request rate exceeded");
108 } 117 }
109} 118}
110.EE 119.EE

Return to:

Send suggestions and report system problems to the System administrator.