nginx中忽略已.开头的文件
目录
nginx中忽略已.开头的文件
这个 Nginx 配置规则表示
禁止访问以点(
.
)开头的文件或目录
,并返回
404
错误。具体解释如下:
location ~ / {
deny all;
return 404;
}
解释
location ~ / { ... }
~
:表示正则表达式匹配。- ``
:表示匹配文件或目录路径中的
“.”
(点),例如
.git
、.env
、.htaccess
等隐藏文件或目录。 - 这意味着该规则会匹配任何路径中包含
以点(
.
)开头的文件或目录 ,例如.git/
、.env
、.htaccess
等。
deny all;
deny all;
:拒绝所有用户访问匹配的文件或目录。即当访问匹配的路径时,会被拒绝,不能继续访问。
return 404;
return 404;
:对于匹配到的路径,Nginx 会返回 404 Not Found 错误页面,而不是直接拒绝连接。- 这表示请求的文件或目录 不存在 (即返回 404 错误),而不是直接显示 403(禁止访问)。
实际效果
假设你的服务器有以下隐藏文件或目录:
.git/
.env
.htaccess
当用户访问任何这些路径时:
- 例如,访问
http://example.com/.git/
或http://example.com/.env
- Nginx 会拒绝访问,并返回 404 错误 ,表示文件或目录不存在。
这种配置常用于
安全防护
,避免泄露敏感的隐藏文件(如
.git
、
.env
、
.htaccess
等)。
总结
这个
location
配置的作用是:
- 拒绝访问以点(
.
)开头的文件或目录 ,例如.git
、.env
等。 - 返回 404 错误 ,而不是 403,来隐藏这些敏感资源。