• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!

Nginx访问控制模块相关指令

Nginx 彭东稳 8年前 (2016-04-24) 22500次浏览 已收录 0个评论

访问控制模块(ngx_http_access_module)

模块ngx_http_access_module允许限制某些IP地址的客户端访问。也可以通过密码来限制访问。使用satisfy指令就能同时通过IP地址和密码来限制访问。

规则按照顺序依次检测,直到匹配到第一条规则。在这个例子里,IPv4的网络中只有 10.1.1.0/16 和 192.168.1.0/24允许访问,但192.168.1.1除外, 对于IPv6的网络,只有2001:0db8::/32允许访问。在规则很多的情况下,使用 ngx_http_geo_module 模块变量更合适。

1)allow

允许指定的网络地址访问。

2)deny

拒绝指定的网络地址访问。

配置范例

用户认证模块(ngx_http_auth_basic_module)

模块ngx_http_auth_basic_module 允许使用“HTTP基本认证”协议验证用户名和密码来限制对资源的访问。也可以通过 地址来限制访问。 使用satisfy 指令就能同时通过地址和密码来限制访问。

1)auth_basic

开启使用“HTTP基本认证”协议的用户名密码验证。指定的参数被用作域,参数off可以取消继承自上一个配置等级 auth_basic 指令的影响。

2)auth_basic_user_file

指定保存用户名和密码的文件,格式如下:

可以看得出来Nginx对于密码没有加密,密码应该使用crypt()函数加密的。搞不懂Nginx为什么没有提供类似Apache发行包中的htpasswd命令来创建此类文件,经过加密处理的。虽然Nginx没有提供,但是我们确可以使用htpasswd命令来创建用户和密码文件。

用户创建方法如下:

认证配置样例

 


如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。
喜欢 (0)
[资助本站您就扫码 谢谢]
分享 (0)

您必须 登录 才能发表评论!