在部署 Web 服务时,我们常常希望只允许特定的 IP 地址访问某些敏感页面或接口,比如后台管理、API 调试接口等。这时就可以使用 Nginx IP白名单 功能来实现访问控制。
本文将从零开始,详细讲解如何在 Nginx 中配置 IP 白名单,即使你是刚接触服务器运维的小白,也能轻松上手!
IP 白名单是一种访问控制策略,只允许列表中的 IP 地址访问指定资源,其他所有 IP 都会被拒绝。这在保护后台系统、防止未授权访问方面非常有效。
通常主配置文件位于:
/etc/nginx/nginx.conf
但更常见的做法是在站点配置文件中设置,比如:
/etc/nginx/sites-available/your-site
使用你喜欢的编辑器(如 nano 或 vim)打开配置文件:
sudo nano /etc/nginx/sites-available/your-site
假设你想保护 /admin 路径,只允许 IP 203.0.113.45 和 198.51.100.22 访问,可以在 server 块中添加如下配置:
location /admin { allow 203.0.113.45; allow 198.51.100.22; deny all; # 其他配置,如 proxy_pass 或 root proxy_pass http://backend;} 说明:
allow:允许指定 IP 访问deny all:拒绝所有未被允许的 IP如果你要允许整个网段,比如公司内网 192.168.1.0/24,可以这样写:
allow 192.168.1.0/24;
保存文件后,检查配置是否正确:
sudo nginx -t
如果显示 syntax is ok,就可以重载 Nginx:
sudo systemctl reload nginx
real_ip 模块使用,否则白名单会失效。通过配置 Nginx IP白名单,你可以轻松实现基于 IP 的访问控制,有效提升 Web 服务的安全性。无论是保护管理后台,还是限制 API 调用来源,这种方法都简单高效。
记住关键三要素:allow + deny all + 正确的 location 路径。掌握这些,你就已经掌握了 Nginx安全配置 的核心技巧之一!
更多进阶用法包括结合 geo 模块实现国家 IP 封禁、动态白名单等,但对大多数场景来说,本文介绍的 Nginx allow deny规则 已完全够用。
现在就去试试吧!你的服务器会感谢你为它加上的这道“安全门”。
本文由主机测评网于2025-11-28发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025111123.html