准备工作
版本:nginx 1.12.2
已经有一个通过nginx代理可以正常访问的链接
限流配置(nginx.conf)
配置说明
limit_req_zone 这个变量只能在HTTP中使用,limit_req_zone,用来限制请求的频率。 $binary_remote_addr 限制的关键词 可以是 IP 或 虚拟服务 这里是ip限制 zone=perserver:10m zone的名称可以自定义,但不能重复,它代表一个存储 session 状态的容器,size 表示 容器的大小。 以范例中的 perip 限制区域为例,大小为10M,按照 64-byte / session,约能存储 1.6W 个 session。 rate=10r/s rate 表示请求的频率,另外还有 r/m 表示每分钟的请求频率限制。
limit_req 这个变量可以放在 server 中 或者 location 中,放在 server 中时表示对整个服务做限流,放在 location 中表示对特定请求做限流。
zone 选择的限流容器 name 限流容器名称
burst 缓存的数量 count 最大请求缓存数
nodelay 表示不延迟,即如果请求缓存超过 count 的值时马上返回 503 错误。
参考链接:https://my.oschina.net/chenxiaobian/blog/888196
浏览器测试
限流白名单配置
变化点已经圈出来了,配置的时候注意一哈。
特别注意
配置完nginx.conf 习惯用 nginx -s reload重新加载配置,有可能不会生效。建议停止nginx服务,在启动一哈。
完成
以上就是全过程了,大家参考!