Nginx 网站限速配置

  • A+
所属分类:Linux
高性能企业级服务器首台5折

Nignx 可以对客户端的访问网站的速度进行限制, 在配置文件中使用 limit_zone, limit_conn,limit_rate 三个参数进行配置。具体配置方法如下:

  1. 在 http 段配置定义一个 limit_zone,
  2. 使用 limit_conn 和 limit_rate 参数进行限速设置。 例如:
  1. 1
    <span class="pln"><span class="hljs-class">http </span></span><span class="pun">{</span>
  2. 1
    <span class="pln">        limit_zone my_zone $<span class="hljs-keyword">binary_remote_addr </span></span><span class="lit"><span class="hljs-number">10</span>m</span><span class="pun"><span class="hljs-comment">;</span></span>
  3. 1
    <span class="pln">       <span class="hljs-built_in"> server </span></span><span class="pun">{</span>
  4. 1
    <span class="pln">                 <span class="hljs-keyword">location</span> </span><span class="pun"><span class="hljs-title">/</span></span><span class="pln"><span class="hljs-title">download</span></span><span class="pun">/</span> <span class="pun">{</span>
  5. 1
    <span class="pln">                                       limit_conn my_zone </span><span class="lit"><span class="hljs-number">2</span></span><span class="pun"><span class="hljs-comment">;</span></span>
  6. 1
    <span class="pln">                                       limit_rate </span><span class="lit"><span class="hljs-number">10</span>k</span><span class="pun"><span class="hljs-comment">;</span></span>
  7. 1
                                         <span class="pun">}</span>
  8. 1
                   <span class="pun">}</span>
  9. 1
         <span class="pun">}</span>

说明:

  • limit_zone: 针对每个 IP 定义一个存储 session 状态的容器。本例中定义了一个 my_zone 的 10m 大小的容器。
  • limit_conn one 2 :限制在 my_zone 中记录状态的每个 IP 只能发起 2 个并发连接。本例中,客户端访问 /download 目录时,会限制 2 个并发连接。
  • limit_rate 20k :对每个连接限速 20k。注意,这里是对连接限速,而不是对 IP 限速。如果一个 IP 允许 2 个并发连接,那么这个 IP 就是限速为 limit_rate*2,在设置的时候要根据自己的需要做设置调整。

 

  1. 保存配置文件,重启nginx生效。

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: