这个 Nginx 配置规则表示 禁止访问以点(.
)开头的文件或目录,并返回 404
错误。具体解释如下:
nginx">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,来隐藏这些敏感资源。