继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

nginx 访问控制(9)

瓦力博客
关注TA
已关注
手记 54
粉丝 26
获赞 78

获取全套nginx教程,请访问瓦力博客

nginx常见的访问控制第一个基于ip的访问控制http_access_module模块,第二个基于用户的信任登录http_auth_basic_module模块,下面小菜就简单说明这两个模块如何进行nginx的访问控制。在此之前
小菜先放上这两个模块的文档地址。

● http_access_module{:target="_blank"}

● http_auth_basic_module{:target="_blank"}

1.http_access_module

1.allow

Syntax:	allow address | CIDR | unix: | all;
Default: —
Context: http, server, location, limit_except

2.deny

Syntax:	deny address | CIDR | unix: | all;
Default: —
Context: http, server, location, limit_except

名词解释

address  指IP地址(192.168.1.1)
CIDR     指网段(192.168.1.0/24)
unix     主要是在linux和unix用到的socket访问
all      所有人访问

示例配置

1.禁止114.86.45.85访问,允许所有ip访问

location / { 
	root   /opt/app/code;
	deny   114.86.45.85;
	allow  all;
	index  index.html index.htm;
}   

2.允许222.128.189.0/24网段ip访问,禁止所有ip访问

location ~ /{
	root   /opt/app/code;
	allow 222.128.189.0/24;
	deny all;
	index  index.html index.htm;
}

allow 和 deny是配合使用的。

局限性

ssl

如果客户端使用代理来访问网站,这样就不能保证禁止或允许某些ip访问。

2.http_auth_basic_module

1.auth_basic

Syntax:	auth_basic string | off;
Default: auth_basic off;
Context: http, server, location, limit_except

2.auth_basic_user_file

Syntax:	auth_basic_user_file file;
Default: —
Context: http, server, location, limit_except

示例配置

新建一个密码文件,名称为auth_conf,用户名为wali,回车后输入密码123456,确认密码

htpasswd -c ./auth_conf wali
location ~ ^/admin.html {
	root   /opt/app/code;
	auth_basic "Auth access test!input your passward!";
	auth_basic_user_file /etc/nginx/auth_conf;
	index  index.html index.htm;
}

重新服务

nginx -s reload -c /etc/nginx/nginx.conf

然后在访问http://walidream.com,就会先让你输入密码。输入正确然后才能访问。

3.局限性

● 用户信息依赖文件方式

● 操作管理机械,效率低下

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP