Nginx IP访问控制,只允许指定的IP地址访问,其他ip禁止访问或者
需求:我需要一个只允许指定的ip访问django服务,其他ip访问,直接拒绝服务。 经过一番查询,发现可以利用nginx进行ip访问控制,屏蔽其他ip访问,只允许在白名单的ip才可以访问。 修改站点的nginx配置文件,比如我的文件是:admin.conf 在server或者location配置段中进行配置,通过allow和deny参数来控制访问。 allow:允许访问ip deny:拒绝访问ip 配置信息如下: server?{ ?????listen?80; ?????server_name?admin.chenxm.cc; ?????location?/?{ ?????????proxy_pass?http://0.0.0.0:10000; ?????????proxy_set_header?Host?$host; ?????????proxy_set_header?X-Real-IP?$remote_addr; ?????????proxy_set_header?X-Forwarded-For?$proxy_add_x_forwarded_for; ?????????allow?222.222.222.222; ?????????deny??all; ?????} } allow 222.222.222.222;?????表示允许222.222.222.222这个ip访问 deny? all????表示拒绝所有ip的访问。 配置文件修改好之后,检查nginx配置文件的语法是否正确。 [root@localhost?~]#?nginx?-tc?/etc/nginx/nginx.conf? nginx:?the?configuration?file?/etc/nginx/nginx.conf?syntax?is?ok nginx:?configuration?file?/etc/nginx/nginx.conf?test?is?successful 相关用法: 如果反过来使用: 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.*,这样的方式进行配置 。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |