配置方式:前后分离,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 增多会导致内存爆炸啊。。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.