发布于2026-07-02 阅读(0)
扫一扫,手机访问
有时候,我们需要给Nginx加点“门禁”——限制访问。这里有几个常见的招数,咱们一个一个来看。

先从频率限制说起。说白了,就是控制每个IP的请求速度,防止有人恶意刷接口。Nginx里用两个指令搞定:limit_req_zone 定义规则,limit_req 应用规则。举个例子,限制每个IP每秒只能发1个请求:
http {
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;
server {
location / {
limit_req zone=mylimit burst=5;
...
}
}
}
这里的关键点:rate=1r/s 就是每秒1个请求,burst=5 允许短时间内的突发流量——相当于允许排队,最多5个请求同时等待处理。这在应对瞬时高峰时很实用。
另一个常见需求是限制来源,比如只允许公司内网访问后台。这时候 allow 和 deny 就派上用场了:
server {
location / {
allow 192.168.1.1;
deny all;
...
}
}
规则很简单:先放行特定IP,再拒绝所有其他来源。注意顺序——allow 在前,deny 在后,否则就成了“一刀切”。
如果需要更严格的保护,比如管理后台的登录页面,可以使用基本身份验证。步骤分两步:先创建密码文件,再配置Nginx。用 htpasswd 工具生成密码:
htpasswd -c /etc/nginx/.htpasswd username
输入密码后,文件就创建好了。然后在配置里加上:
server {
location / {
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/.htpasswd;
...
}
}
浏览器访问时,会弹出登录框,只有输入正确的用户名和密码才能进入。这层保护虽然简单,但对付大多数场景已经足够。
当然,这些方法可以组合使用。比如限制频率的同时,只允许特定IP访问,或者再加上身份验证。实际部署时,根据需求灵活搭配就好。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8