Apache禁止访问Linux的隐藏文件


发布于

|

分类

有一个比较奇怪的需求:Apache 服务器,需要对 . 开头的文件和目录进行屏蔽。比如 .env.data 什么的目录是不能被访问到的。

Nginx 下面配置比较简单,可以参考 LNMP 一键安装包里面的配置文件。但是 Apache 就相对麻烦一些了。

这里直接贴出配置。

<FilesMatch "^\.">
    Require all denied
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>

<DirectoryMatch "^(.*/)*\..*">
    Require all denied
    Order allow,deny
    Deny from all
    Satisfy All
</DirectoryMatch>

<LocationMatch ^(.*/)\..*>
    Require all denied
    Order Allow,Deny
    Deny from All
    Satisfy All
</LocationMatch>

这样不仅可以屏蔽掉 .htaccess.htpasswd 等文件,也可以屏蔽掉所有点开头的文件夹。

然而!我还有一个需求!在用 Let’s Encrypt 配置 ssl 证书的时候,需要放开对 .well-known 文件夹的访问权限。也就是给 .well-known 设置一个漏网之鱼。不然每次续期都需要编辑配置文件。

这个如何设置?

参考资料


评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注