加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Nginx IP访问控制,只允许指定的IP地址访问,其他ip禁止访问或者屏蔽指定ip访问

发布时间:2020-05-22 16:08:38 所属栏目:Linux 来源:互联网
导读:Nginx IP访问控制,只允许指定的IP地址访问,其他ip禁止访问或者屏蔽指定ip访问

需求:我需要一个只允许指定的ip访问django服务,其他ip访问,直接拒绝服务。

经过一番查询,发现可以利用nginx进行ip访问控制,屏蔽其他ip访问,只允许在白名单的ip才可以访问。

修改站点的nginx配置文件,比如我的文件是:admin.conf

在server或者location配置段中进行配置,通过allow和deny参数来控制访问。

allow:允许访问ip

deny:拒绝访问ip

配置信息如下:
nginx路径:/etc/nginx/conf.d/chenxm.conf

server{
listen80;

server_nameadmin.chenxm.cc;
location/{
proxy_passhttp://0.0.0.0:10000;
proxy_set_headerHost$host;
proxy_set_headerX-Real-IP$remote_addr;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
allow222.222.222.222;
denyall;
}

}

allow 222.222.222.222;表示允许222.222.222.222这个ip访问

deny all表示拒绝所有ip的访问。

配置文件修改好之后,检查nginx配置文件的语法是否正确。

[root@localhost~]#nginx-tc/etc/nginx/nginx.conf
nginx:theconfigurationfile/etc/nginx/nginx.confsyntaxisok
nginx:configurationfile/etc/nginx/nginx.conftestissuccessful

相关用法:

如果反过来使用:

allow all;表示允许所有ip访问

deny 222.222.222.222表示拒绝222.222.222.222这个ip访问

最后:

当用户ip不是222.2222.222.222来访问,nginx直接返回一个403页面给用户

高级知识:

当Nginx作为web服务的时候也会有安全功能的模块,可以通过修改配置文件的方式来设置允许和拒绝的IP来访问。有些IP被设置拒绝访问后,访问的时候会出现403,也就是拒绝访问。不过由于IP的数量庞大,很多时候都不会指定详细的IP地址,应该会使用网段的方式。比如192.168.0.*,这样的方式进行配置 。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读