user nginx nginx; worker_processes 1; error_log /var/log/nginx/error.log info; pid /var/run/nginx.pid; worker_rlimit_nofile 80000; events { worker_connections 50000; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] $request ' '"$status" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; server_tokens off; log_format IP '$remote_addr'; reset_timedout_connection on; log_format games '$request_filename'; access_log /var/log/nginx/access.log main; server_names_hash_max_size 1024; server_names_hash_bucket_size 512; client_header_timeout 3m; client_body_timeout 3m; send_timeout 3m; client_header_buffer_size 8k; large_client_header_buffers 4 8k; gzip on; gzip_min_length 1100; gzip_buffers 4 8k; gzip_types text/plain; output_buffers 1 32k; postpone_output 1460; sendfile on; tcp_nopush on; tcp_nodelay on; # send_lowat 12000; keepalive_timeout 60 20; # limit_zone one $binary_remote_addr 10m; # limit_conn one 10; server { # listen 80 default rcvbuf=8192 backlog=32000 deferred; # listen 80 default deferred; listen 80 default; server_name default; location / { proxy_pass http://127.0.0.1:81; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 3m; proxy_send_timeout 3m; proxy_read_timeout 3m; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } } server { listen 80; server_name domain.ru www.domain.ru; location / { proxy_pass http://127.0.0.1:81; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 3m; proxy_send_timeout 3m; proxy_read_timeout 3m; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } location ^~ /icons/ { root /var/www/; access_log off; expires 1y; } location ~* ^.+\.(js|jpg|jpeg|gif|png|bmp|ico|css|zip|rar|bz2|doc|rtf|xls|exe|pdf|ppt|txt|wav|mp3|wmv|avi|swf|flv)$ { root /var/www/hosts/www; access_log off; expires 30d; } location /nginx_status { stub_status on; access_log off; allow xx.xx.xx.xx; deny all; } set $add 1; location /index.php { limit_except GET POST { deny all; } set $ban ""; if ($http_referer = "" ) {set $ban $ban$add;} if ($request_method = POST ) {set $ban $ban$add;} if ($query_string = "action=login" ){set $ban $ban$add;} if ($ban = 111 ) { access_log /var/log/nginx/ban IP; return 404; } proxy_pass http://127.0.0.1:81; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 3m; proxy_send_timeout 3m; proxy_read_timeout 3m; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } }