Nginx:速率限制设置不起作用

前端之家收集整理的这篇文章主要介绍了Nginx:速率限制设置不起作用 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

这是我的Nginx配置设置-

@H_502_5@{ limit_req_zone $binary_remote_addr zone=main:10m rate=1r/s; # on top of conf file ... location /login { limit_req zone=main burst=3 nodelay; ModSecurityEnabled on; ModSecurityConfig /usr/local/Nginx/conf/modsecurity.conf; proxy_pass http://localhost:4000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }

}

使用以下代码多次点击api网址(http://localhost:4000/login)时-

@H_502_5@for i in {0..2000}; do (curl -Is http://localhost:4000/login | head -n1 &) 2>/dev/null; done

我总是得到200个响应代码,而不是某些应被拒绝的请求得到503.

请我克服这个问题.

最佳答案
这是我的配置.现在它可以正确显示200& 503超过阈值后请求.

@H_502_5@limit_req_zone $http_x_forwarded_for zone=req_limit_per_ip:100m rate=10r/m; limit_conn_zone $http_x_forwarded_for zone=conn_limit_per_ip:100m; server { listen 80; server_name *.xxxxxx.com; add_header 'Access-Control-Allow-Headers' "X-Forwarded-For; X-Forwarded-Proto; X-Forwarded-Port; Host; X-Amzn-Trace-Id; Connection"; #add_header 'Access-Control-Allow-Headers' "X-Requested-With"; add_header 'Access-Control-Allow-Methods' "GET,POST,OPTIONS"; #add_header 'Access-Control-Allow-Origin' "$http_origin"; server_tokens off; client_body_timeout 60s; client_header_timeout 60s; add_header 'X-Frame-Options' "SAMEORIGIN"; add_header 'Strict-Transport-Security' "max-age=31536000; includeSubDomains" ; location /api/ { ModSecurityEnabled off; ModSecurityConfig /usr/local/Nginx/conf/modsecurity.conf; proxy_pass http://xx.xxx.xxx.xxx:7000/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s; send_timeout 60s; } }

为了检查效果,我创建了一个.js文件,并在循环内请求上述URL 20次.您可以在下面查看结果-

输出

enter image description here

猜你在找的Nginx相关文章