如何实现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
如何Nginx拒绝非正常浏览器UA?

1 前言 一个问题,一篇文章,一出故事。 笔者昨天发现服务器被CC攻击导致宕机,然后笔者已经在Ngi …

Nginx
如何配置Nginx防止CC攻击?

1 前言 一个问题,一篇文章,一出故事。 笔者今天早上发现站点无法打开,经查Nginx有大量的如下日 …