如何实现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
如何解决certbot获取证书失败问题?

1 前言 一个问题,一篇文章,一出故事。 之前更新证书遇到的问题,详细如下, 如何临时解决certb …

Nginx
如何临时解决certbot获取证书失败问题?

1 前言 一个问题,一篇文章,一出故事。 今天执行如下命令更新证书, certbot certonl …

Nginx
如何安装配置Oracle Linux 9.x nginx php-fpm环境?

1 前言 一个问题,一篇文章,一出故事。 本章将完成Nginx与PHP-FPM的集成。 2 最佳实践 …