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,来隐藏这些敏感资源。