如何实现Nginx的访问控制?

Nginx

1 前言

笔者有个云存储经过代理发布在外网,为了安全起见,需要禁止admin在外网的配置,于是就产生了以下配置。

2 使用方法

2.1 禁止访问admin目录

server {
    [...]
	location ^~ /index.php/settings/admin {
		allow 10.0.0.0/8;
		allow 172.16.0.0/12;
		allow 192.168.0.0/16;
		deny all;
	}
}

注,
-以上允许私网地址访问管理员目录
– “[…]”代表其他配置
另外,如果是代理服务器,切记要加上“proxy_pass”指令(允许访问后被引导到空目录而被拒接),详细如下,

server {
    [...]
	location ^~ /index.php/settings/admin {
		proxy_pass             https://www.cmdschool.org;
		allow 10.0.0.0/8;
		allow 172.16.0.0/12;
		allow 192.168.0.0/16;
		deny all;
	}
}

2.2 禁止访问隐藏文件

server {
    [...]
	location ~* /.* {
		deny all;
	}
}
没有评论

发表评论

Nginx
如何解决Nginx代理传大文件不同步问题?

1 前言 一个问题,一篇文章,一出故事。 笔者生产环境遇到用户透过反向代理上传大文件提示用户已经完成 …

Nginx
如何实现Nginx根据路径分配代理?

1 前言 一个问题,一篇文章,一出故事。 笔者生产环境遇到需要根据URI路径选择走哪个代理服务器的案 …

Nginx
如何实现Nginx返回字符串或变量值?

1 前言 一个问题,一篇文章,一出故事。 笔者测试环境中经常需要返回Nginx变量的具体值,于是整理 …