nginx的访问控制
第一:nginx对于Http的访问控制:
(1)基于IP的访问控制。
(2)基于账号密码的访问控制
第二:http_access_module的访问控制的语法:
(1)allow address:表示的是允许哪些IP进行访问。
allow CIDR:表示的是允许哪些网段的IP进行访问。如:192.168.2.0/24
(2)deny address:表示的是不允许哪些IP进行访问。
deny CIDR:表示的是不允许哪些网段的IP进行访问。
第三:http_access_module的简单的配置如下:
如果需要多个ip或者是网段进行控制访问的时候,可以加上多个的allow和deny模块。
第四:http_access_module访问的局限性。
局限性,如下图第一个所示,如果客户端通过一个代理,访问服务端,服务端获取的是代理的ip,而不是客户端的ip
解决方法:
(1)其中一个解决方式使用http_x_forwarded_for来解决这个问题
但是并不是所有的CDN厂商和代理厂商都会支持这种http_x_forwarded_for这种模式。
(2)结合geo模块
(3)通过http自定义变量传参数
第五:http_auth_basic_module的访问控制语法:
string:表示的是输入密码时的提示信息。
auth_basic_user_file 表示的是保存用户名密码的文件