V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
BrJfUsTD
V2EX  ›  NGINX

Nginx limit_req 限制请求数的设置疑问

  •  
  •   BrJfUsTD · 2022-06-16 09:32:33 +08:00 · 1645 次点击
    这是一个创建于 868 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目标是限制 https://www.example.com/search.php 每个 IP 每秒最多访问 1 次,请问是直接这样设置吗?

    limit_req_zone $binary_remote_addr zone=search:10m rate=1r/s;

    当用户访问 https://www.example.com/search.php ,页面里引用的 CSS 、JS 、图片等资源会不会单独计算请求数?假设页面有 20 个引用资源,是不是应该这样设置?

    limit_req_zone $binary_remote_addr zone=search:10m rate=20r/s;

    一般页面,通常限制每秒多少请求数比较合适?看 Nginx 官方文档示例是限制每秒 10 个,允许突发 5 个。

    4 条回复    2022-06-17 09:04:21 +08:00
    0312birdzhang
        1
    0312birdzhang  
       2022-06-16 09:47:24 +08:00
    > 当用户访问 https://www.example.com/search.php ,页面里引用的 CSS 、JS 、图片等资源会不会单独计算请求数?

    建议看一下你的资源文件 url 地址。。。Chrome/火狐里面按 F12 ,网络里面(手动狗头
    BrJfUsTD
        2
    BrJfUsTD  
    OP
       2022-06-16 09:49:17 +08:00
    @0312birdzhang 访问页面下方显示 20 个请求数,这样 limit_req 也要设置 20 哦?
    pupboss
        3
    pupboss  
       2022-06-16 09:51:02 +08:00 via iPhone   ❤️ 1
    一般来讲,限速是针对后端接口,你只针对那一个接口的路由做限速就好。再就是静态资源最好用静态文件的配置,路由隔离开来,好处非常多
    BeforeTooLate
        4
    BeforeTooLate  
       2022-06-17 09:04:21 +08:00
    首先 css 和 js ,图片没有做 cdn 独立域名的话会算入请求数
    所以你可以上 cdn 或者资源文件路径用另外域名。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1331 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 23:38 · PVG 07:38 · LAX 16:38 · JFK 19:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.