limit_req_zone $binary_remote_addr zone=hipy_ips:10m rate=100r/s; limit_conn_zone $binary_remote_addr zone=hipy_addr:10m; upstream hipy { server 127.0.0.1:5707 weight=1 fail_timeout=0; } upstream hipy_ui { server 127.0.0.1:8008 weight=1 fail_timeout=0; } server{ listen 80; server_name hipy.xx.com; location / { #.... proxy_pass http://localhost:5707; proxy_next_upstream error timeout invalid_header http_503; proxy_redirect off; proxy_read_timeout 300000; limit_req zone=hipy_ips burst=5 nodelay; limit_conn hipy_addr 200; limit_rate 5000k; # set headers proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; } location ~* /files/drpy_js/ { proxy_cache_valid 200 60m; proxy_buffering on; expires 864000; proxy_pass http://hipy; } ##### other directive } server{ listen 8008; server_name hipy.xx.com; location / { #.... proxy_pass http://hipy_ui; proxy_next_upstream error timeout invalid_header http_503; proxy_redirect off; proxy_read_timeout 300000; limit_req zone=hipy_ips burst=5 nodelay; limit_conn hipy_addr 200; limit_rate 5000k; # set headers proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; } }