Nginx怎么禁止某个IP访问?详细配置教程一看就懂

 更新时间:2026年07月14日 10:39:41   作者:硅基生物饲养手册  
想知道如何用Nginx轻松控制网站访问权限吗?本文手把手教你禁止或允许特定IP及IP段访问,包括针对单个网站进行精细设置,无论你是想封禁恶意IP,还是只允许公司内网访问,这篇Nginx IP限制配置教程都能帮你快速搞定

一、环境说明

终端IP
Nginx(网站)192.168.0.101
用户1192.168.0.104
用户2192.168.0.100

测试网站地址:

192.168.0.101,正常不做限制的情况下,我们在用户1和用户2那里都可以访问到网站的首页,如下:

二、禁止某个IP或IP段访问

在Nginx的配置文件夹里创建一个名为“license.conf”的配置文件,专门用来做IP限制

1、禁止某个IP访问(用户1 - 192.168.0.104)

在配置文件中加入如下一行,如果禁用多个,可以加多行,格式为deny ***

deny 192.168.0.104;

重启Nginx使配置生效,这时候我们发现用户1已经不能访问网站了

2、禁止某个IP段访问(192.168.0.1-254)

在配置文件中加入如下一行,直接禁用整个网段,同样如果需要禁用多个网段,也可以加多行配置

deny 192.168.0.1/24;

重启Nginx使配置生效,这时候我们发现用户1和用户2都不能访问网站了,因为他们都是这个网段的IP

三、允许某个IP或IP段访问

1、允许某个IP访问(用户1 - 192.168.0.104)

如果我们的需求是只允许指定的IP访问,通过上文我们说的deny的方式可以实现,但是一个一个或一段一段封禁IP的方式太繁琐,我们可以在配置文件中指定只允许指定IP访问,在配置文件中加入以下配置

allow 192.168.0.104;
deny all;

重启Nginx是配置生效,这时候我们的发现,我们指定的IP 192.168.0.104可以访问网站,没有被允许的192.168.0.100的用户访问不到网站

2、允许某个IP段访问(192.168.0.1-254)

当我们的需求是,允许公司某个范围内所有的IP(192.168.0.1-254)访问,另外一个部门的另外的IP不能访问时,我们可以在配置文件中添加如下配置

allow 192.168.0.1/24;
deny all;

重启Nginx是配置生效,我们发现192.168.0.1-254网段内的所有IP都能访问网站,其余的网段不能访问到我们的网站

四、针对某个网站单独设置

当我们的Nginx代理了很多网站时,有的我们想让所有人访问,有的想让部分人访问,那么上面的设置就不能满足我们的需求了,我们可以来到每个网站的代理配置文件,针对当前网站单独设置

比如,现在我们网站的代理配置是这样的:

server {
    listen       80;
    server_name  myweb;
    location / {
         root /usr/share/nginx/html/test;
         index index.html index.htm;
    }
}

当我们想只对这个网站进行禁止或允许的配置时,我们可以在server{}段中添加一行配置,如下是分别举例

1、当前网站只允许192.168.0.100访问

2、当前网站只允许192.168.0.1-254网段访问

3、当前网站禁止192.168.0.100访问

4、当前网站禁止192.168.0.1-254网段访问

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • nginx配置虚拟主机vhost的方法详解

    nginx配置虚拟主机vhost的方法详解

    Nginx vhost配置,可实现基于ip、端口号、servername的虚拟主机,同时可避免直接修改主配置文件。在nginx下配置虚拟主机vhost非常方便。这篇文章主要介绍了nginx配置虚拟主机vhost的方法,需要的朋友可以参考下
    2017-03-03
  • centos环境下nginx高可用集群的搭建指南

    centos环境下nginx高可用集群的搭建指南

    为了防止Nginx单点故障造成服务器瘫痪,本文介绍了Nginx实现高可用集群构建,下面这篇文章主要给大家介绍了关于centos环境下nginx高可用集群的搭建指南,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • Nginx 报403 Forbidden错误常见原因和解决方案

    Nginx 报403 Forbidden错误常见原因和解决方案

    引起Nginx403forbidden有二种原因,一是缺少索引文件,二权限问题,这篇文章主要介绍了Nginx 报403 Forbidden错误常见原因和解决方案,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-08-08
  • 如何通过nginx解决跨域问题

    如何通过nginx解决跨域问题

    文章描述了在使用Nginx版本1.29.1配置代理时遇到的跨域问题,由于响应中缺少Access-Control-Allow-Origin头部,导致从10.20.4.1访问10.20.4.2:5000时出现跨域错误,通过配置Nginx以添加该头部,问题得到了解决,感兴趣的朋友跟随小编一起看看吧
    2026-05-05
  • Nginx安装及具体应用小结

    Nginx安装及具体应用小结

    Nginx 动静分离简单来说就是把动态请求跟静态请求分开,Nginx 处理静态请求,Tomcat处理动态请求,这篇文章主要介绍了Nginx安装及具体应用小结,需要的朋友可以参考下
    2024-02-02
  • 详解Nginx SSL快速双向认证配置(脚本)

    详解Nginx SSL快速双向认证配置(脚本)

    这篇文章主要介绍了详解Nginx SSL快速双向认证配置(脚本),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • nginx不支持apk ipa文件下载的设置方法

    nginx不支持apk ipa文件下载的设置方法

    今天在帮客户配置nginx服务器的时候,对方需要支持apk ipa文件下载,这里简单分享下,方便需要的朋友
    2014-03-03
  • Nginx优化服务之网页压缩的实现方法

    Nginx优化服务之网页压缩的实现方法

    这篇文章主要介绍了Nginx优化服务之网页压缩的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • 手把手教你利用Nginx搭建属于自己的服务器

    手把手教你利用Nginx搭建属于自己的服务器

    最近总是想搭建自己的网站,奈何皮夹里空空如也,服务器也租不起,更别说域名了,于是我就寻思能否自己搭建个服务器,还不要钱呢,本文就来手把手教你如何实现吧
    2023-08-08
  • nginx上部署react项目的实例方法

    nginx上部署react项目的实例方法

    今天小编就为大家分享一篇关于nginx上部署react项目的实例方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02

最新评论