Willy Tarreau | b686644 | 2008-07-14 23:54:42 +0200 | [diff] [blame] | 1 | # This is a test configuration. It listens on port 8025, waits for an incoming |
| 2 | # connection, and applies the following rules : |
| 3 | # - if the address is in the white list, then accept it and forward the |
| 4 | # connection to the server (local port 25) |
| 5 | # - if the address is in the black list, then immediately drop it |
Willy Tarreau | b6fb420 | 2008-07-20 11:18:28 +0200 | [diff] [blame] | 6 | # - otherwise, wait up to 35 seconds. If the client talks during this time, |
Willy Tarreau | b686644 | 2008-07-14 23:54:42 +0200 | [diff] [blame] | 7 | # drop the connection. |
| 8 | # - then accept the connection if it passes all the tests. |
| 9 | # |
| 10 | # Note that the rules are evaluated at every new chunk of data read, and at |
| 11 | # delay expiration. Rules which apply to incomplete data don't match as long |
| 12 | # as the timer has not expired. |
| 13 | |
| 14 | listen block-fake-mailers |
| 15 | log 127.0.0.1:514 local0 |
| 16 | option tcplog |
| 17 | |
| 18 | mode tcp |
| 19 | bind :8025 |
Willy Tarreau | b6fb420 | 2008-07-20 11:18:28 +0200 | [diff] [blame] | 20 | timeout client 60s |
| 21 | timeout server 60s |
| 22 | timeout queue 60s |
| 23 | timeout connect 5s |
Willy Tarreau | b686644 | 2008-07-14 23:54:42 +0200 | [diff] [blame] | 24 | |
Willy Tarreau | b6fb420 | 2008-07-20 11:18:28 +0200 | [diff] [blame] | 25 | tcp-request inspect-delay 35s |
Willy Tarreau | b686644 | 2008-07-14 23:54:42 +0200 | [diff] [blame] | 26 | |
| 27 | acl white_list src 127.0.0.2 |
Willy Tarreau | b6fb420 | 2008-07-20 11:18:28 +0200 | [diff] [blame] | 28 | acl black_fast src 127.0.0.3 # those ones are immediately rejected |
| 29 | acl black_slow src 127.0.0.4 # those ones are rejected after a delay |
Willy Tarreau | b686644 | 2008-07-14 23:54:42 +0200 | [diff] [blame] | 30 | |
| 31 | tcp-request content accept if white_list |
Willy Tarreau | b6fb420 | 2008-07-20 11:18:28 +0200 | [diff] [blame] | 32 | tcp-request content reject if black_fast |
| 33 | tcp-request content reject if black_slow WAIT_END |
| 34 | tcp-request content reject if REQ_CONTENT |
| 35 | # note that it is possible to wait for the end of the analysis period |
| 36 | # before rejecting undesired contents |
| 37 | # tcp-request content reject if REQ_CONTENT WAIT_END |
| 38 | |
| 39 | # on Linux+transparent proxy patch, it's useful to reuse the client'IP |
| 40 | # source 0.0.0.0 usesrc clientip |
Willy Tarreau | b686644 | 2008-07-14 23:54:42 +0200 | [diff] [blame] | 41 | |
| 42 | balance roundrobin |
| 43 | server mail 127.0.0.1:25 |
Willy Tarreau | b6fb420 | 2008-07-20 11:18:28 +0200 | [diff] [blame] | 44 | |