如何实现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
如何安装部署RHEL 9 Nignx?

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

Nginx
如何编译安装Oracle Linux 9.x Nginx?

1 基础知识 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器 Ngi …

Nginx
如何编译Tengine Cookie标签模块?

1 前言 一个问题,一篇文章,一出故事。 笔者编译版本的Tengine需要加载Cookie标签模块, …