nginx禁止限制某个IP地址或网段访问服务器

nginx配置访问ip需要修改nginx.conf文件,只需要在server中添加allow跟deny的ip即可,如下:

upstream novel {
    server 127.0.0.1:8080;
}
server {
    listen       80;
    server_name  localhost;

    charset utf8;

    allow 112.97.0.0/16;
    deny all;

    location / {
        proxy_pass  http://novel;
        proxy_set_header Host      $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

ps: 上面的配置中allow必须在deny的前面配置,不然allow不生效。
下面是具体的配置

nginx中允许或者拒绝某个ip访问是这么写的:

allow 192.168.0.1;
deny  192.168.0.2;

如果你需要对整个ip段设置不允许访问,可以这么写:

deny 123.0.0.0/8;    // 封 123.0.0.1~123.255.255.254 这个段的ip
deny 123.1.0.0/16;   // 封 123.1.0.1~123.1.255.254 这个段的ip
deny 123.1.1.0/24;   // 封 123.1.1.1~123.1.1.254 这个段的ip

deny all;  // 封所有ip

ps: allow跟deny配置相同,如果需要开放某个IP段,只需要把上面的deny改成allow

如果你有很多的ip需要配置的话,那么你也可以新建一个文件,如:allow_deny_ip.conf

然后把需要配置的ip单独写在这个文件上面,最后在nginx中引用这个文件即可,如下:

server {
    ...
    include allow_deny_ip.conf
    ...
}

原文地址:https://www.cnblogs.com/niuben/p/11687638.html

时间: 2024-08-28 13:06:55

nginx禁止限制某个IP地址或网段访问服务器的相关文章

Nginx禁止直接通过IP地址访问网站

介绍下在nginx服务器禁止直接通过IP地址访问网站的方法,以避免别人恶意指向自己的IP,有需要的朋友参考下. 有时会遇到很多的恶意IP攻击,在Nginx下可以禁止IP访问. Nginx的默认虚拟主机在用户通过IP访问,或通过未设置的域名访问,在server的设置里面添加这一行: 复制代码代码示例: listen 80 default; 后面的default参数表示这个是默认虚拟主机. Nginx 禁止IP访问这个设置非常有用. 比如别人通过ip或者未知域名访问你的网站时,希望禁止显示任何有效内

Nginx禁止直接通过IP地址访问网站(关闭默认站点或空主机头)

这篇文章主要介绍了Nginx中禁止使用IP访问网站的配置实例,一般在备案时可能需要这种设置,需要的朋友可以参考下 国内因为备案的原因,所有服务器都要禁止使用IP访问网站.否则,如果允许使用IP访问网站,那随便解析一个域名到该IP,访问该域名就可以打开网站了.这是一个极大的风险!Nginx中可以很方便的来解决这个问题,小菜鸟来跟大家一起探讨一下. 如下的配置项,可以设置允许使用IP访问网站. server { listen 80; server_name ""; } 这里相当于是绑定了一

如何配置IP地址及网段,如何测试网络连通,如何通过NUC路径访问

这篇跟大家分享一点知识内容,这一篇总共三个内容.内容一:配置IP地址及网段内容二:测试网络的连通内容三:通过unc路径访问 我们在这之前要准备一个虚拟机然后打开两台win10虚拟客户机(我用的是server服务器跟win10,这并没有差别)具体步骤如下:内容一 我们保证两台虚拟机的网段是同一个网段,在虚拟机的右下角点开小电脑图标,进入配置界面然后选自定义随便选择一个网段(但是两个虚拟机的网段要相同)另一台虚拟机也是一样的配置网段,然后确定配置网段完毕后我们在桌面上点击鼠标右键打开网络图标属性,点

nginx反向代理取得IP地址

nginx反向代理后,在应用中取得的ip都是反向代理服务器的ip,取得的域名也是反向代理配置的url的域名,解决该问题,需要在nginx反向代理配置中添加一些配置信息,目的将客户端的真实ip和域名传递到应用程序中. nginx反向代理配置时,一般会添加下面的配置: proxy_set_header Host $host;      proxy_set_header X-Real-IP $remote_addr;      proxy_set_header REMOTE-HOST $remote_

Nginx+tomcat显示真实IP地址

对于nginx+tomcat这种架构,如果后端tomcat配置保持默认,那么tomcat的访问日志里,记录的就是前端nginx的IP地址,而不是真实的访问IP.因此,需要对nginx.tomcat做如下配置: 1)nginx配置  在nginx.conf配置中修改 server{ listen            80; server_name       www.abc.com; location / { proxy_connect_timeout       3; proxy_send_t

haproxy后端nginx取得用户访问ip地址

            set_real_ip_from 172.16.100.120;  #haproxy 的IP地址         set_real_ip_from 172.16.100.110;  #haproxy 的IP地址         real_ip_header X-Forwarded-For;         log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '      

CDN下nginx获取用户真实IP地址

随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户的真实IP地址,如果后端是apache,请跳转到,如果是后端真实服务器是nginx,那么继续往下看. 实例环境: 用户IP 120.22.11.11 CDN前端 61.22.22.22 CDN中转 121.207.33.33 公司NGINX前端代理 192.168.50.121(外网121.207.

nginx记录真是的IP地址 <备忘>

nginx.haproxy等作为代理服务器时,要使后端web服务器记录真是的IP地址,需要配置: location / {     proxy_set_header    Host    $host;     proxy_set_header    X-Real-IP    $remote_addr;     proxy_set_header    X-Forwarded-For    $proxy_add_x_forwarded_for;     proxy_buffering    off;

网络 IP地址、网段、子网掩码

IP地址范围,最小:00000000,00000000,00000000,00000000:最大:11111111,11111111,11111111,11111111 即:最小:0.0.0.0 最大:255.255.255.255 IP地址分为A.B.C.D.E五类.A类,前八位第一位为0, 范围00000001.0.0.0   到 01111111.255.255.255  即1.0.0.0         到 126.255.255.255.B类,前八位以10开头,   范围1000000