zoukankan      html  css  js  c++  java
  • nginx限速

    注意:

    nginx 1.1.8 之后的版本的语法改为limit_conn_zone $binary_remote_addr zone=NAME:10m;

    NAME 就是 zone 的名字详情请看这里 http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html

    限制连接数:

    要限制连接,必须先有一个容器对连接进行计数,在http段加入如下代码:

    "zone=" 给它一个名字,可以随便叫,这个名字要跟下面的 limit_conn 一致

    $binary_remote_addr = 用二进制来储存客户端的地址,1m 可以储存 32000 个并发会话

    ... 省掉 N 字

    http

    {

    limit_conn_zone $binary_remote_addr zone=addr:10m;

    接下来需要对server不同的位置(location段)进行限速,比如限制每个IP并发连接数为1,则

    server

    {

    listen 80;

    server_name 192.168.11.128;

    index index.html index.htm index.php;

    limit_conn addr 1; #是限制每个IP只能发起1个连接 (addr 要跟 limit_conn_zone 的变量对应)

    limit_rate 100k; #限速为 100KB/秒

    root html;

    注意事项:

    limit_rate 100k; //是对每个连接限速100k。这里是对连接限速,而不是对IP限速!如果一个IP允许两个并发连接,那么这个IP就是限速limit_rate * 2

  • 相关阅读:
    Java8新特性简介
    责任链模式
    Bean的生命周期
    APP中https证书有效性验证引发安全问题(例Fiddler可抓https包)
    程序员成长指南
    Go 代码性能优化小技巧
    Go slice 扩容机制分析
    一次 Go 程序 out of memory 排查及反思
    curl 常用操作总结
    Go benchmark 详解
  • 原文地址:https://www.cnblogs.com/clovejava/p/7906646.html
Copyright © 2011-2022 走看看