Nginx IP访问控制,只允许指定的IP地址访问,其他ip禁止访问或者屏蔽指定ip访问
|
需求:我需要一个只允许指定的ip访问django服务,其他ip访问,直接拒绝服务。 经过一番查询,发现可以利用nginx进行ip访问控制,屏蔽其他ip访问,只允许在白名单的ip才可以访问。 修改站点的nginx配置文件,比如我的文件是:admin.conf 在server或者location配置段中进行配置,通过allow和deny参数来控制访问。 allow:允许访问ip deny:拒绝访问ip 配置信息如下: 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.*,这样的方式进行配置 。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
