Nginx的访问控制
Posted 爱编程的男孩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx的访问控制相关的知识,希望对你有一定的参考价值。
基于IP的访问控制-http_access_module
允许
语法 allow address | CIDR | unix: | all
区域 http,server,location,limit_except
不允许
区域 deny address | CIDR | unix: | all
语法 http,server,location,limit_except
开始测试
测试deny
1.配置access_mod.conf
2.重启配置,使用本机访问时将会出现403错误说明已经成功
测试allow
测试步骤和上面相似,结果相反
该方法的局限性
原理是判断IP,如果不是客户端直接访问服务端,而是使用代理那么就失效了,解决这个问题要用到http_x_forwarded_for变量
区别$remote_addr只记录当前访问IP,并不记录代理IP,而x_forwarded_for会记录连接时IP,以及代理IP
但是x_forwarded_for也会被修改
以后再演示
基于用户的信任登录-http_auth_basic_module
该功能主要用于当某个用户需要访问加密页面时需要输入密码
1.
语法 auth_basic string | off
区域:http,server,location,limit_except
2.
语法 auth_basic_user_file file 存储密码和用户名的文件
区域:http,server,location,limit_except
密码格式
name1:passwd1
加密格式有多种,使用自带htpasswd加密即可
开始测试
1.使用htpasswd给密码加密
2.配置nginx的conf文件
此时登录网站就会要求输入密码
该方法的局限性
用户的信息依赖文件方式
操作管理机械,效率低下,如果有多种用户体系就会很难管理
解决办法有两个,后面会讲到
以上是关于Nginx的访问控制的主要内容,如果未能解决你的问题,请参考以下文章