nginx で F5 アタックに耐えるための設定

IPアドレスによって、1秒間に1リクエストに制限する設定。
超えた場合は、503を返します。

burst の設定がある場合は、rate を超えても、burst回数までは許容し、rate のペースでレスポンスを返します。

limit_req_zone  $binary_remote_addr  zone=one:10m   rate=1r/s;

server {

    listen   80;
    server_name test.com;

    access_log /var/log/nginx/access_test.log;
    error_log /var/log/nginx/error_test.log;

    root /var/www/html/test/public;

    location / {
            index index.php;
    }

    location ~ /\. {
            deny  all;
    }

    location ~* \.php$ {

        try_files $uri =404;

        limit_req   zone=one  burst=5;

        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

}

動くかチェックしていません!