如何实现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
如何解决https请求不安全http页被阻止问题?

1 前言 一个问题,一篇文章,一出故事。 笔者最近代理公司应用,发现https的页面有请求不安全的h …

Nginx
如何Nginx代理上游的子项目或文件夹?

1 前言 一个问题,一篇文章,一出故事。 笔者接到任务需要把Tomcat的其中一个应用号使用Ngin …

Nginx
如何安装部署RHEL 9 Nignx?

1 前言 一个问题,一篇文章,一出故事。 笔者需要基于RHEL 9部署Nginx环境,于是整理此文。 …