配置方式:前后分离,nginx 分发静态文件,然后将 /api/路由反向代理到后端,前端无跨域。
需求:后端 api 很多,想要使用 nginx 的限频功能,但是不同 api 频率不一样。
现在的写法
#上文省略
location ^~ /api/ {
proxy_pass http://127.0.0.1:3333;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
limit_req zone=allips burst=20 nodelay;
}
现在的写法就是全路由统一反向代理,然后公用一个 limit_req ,比如如果有/api/a1?=...和/api/b2?=...这两个 api ,是否 nginx 上需要分别设置各自的路由,各自的反向代理,和各自的 limit_req 的 zone ?如果 api 特别多的话是不是 zone 增多会导致内存爆炸啊。。