flask_limit
nginx的配置
location / {
include uwsgi_params;
proxy_pass http://127.0.0.1:5000/;
uwsgi_param UWSGI_CHDIR /home/flask/Aflask_api;
proxy_set_header Host $host; #必填
proxy_set_header X-Real-IP $remote_addr; #必填
}
flask_limit的使用
# 初始化
from flask_limiter import Limiter
from flask_limiter.util import get_remote_address
app = Flask(__name__)
limiter = Limiter(
app,
key_func=get_remote_address, #根据访问者的IP记录访问次数
default_limits=["200 per day", "50 per hour"] #默认限制,一天最多访问200次,一小时最多访问50次
)
# 使用
@limiter.limit("5 per day") #自定义访问速率
@app.route('/', methods=["GET"])
....
return