Apache2禁止目录访问

原因

最近在访问自己的网站时,突然发现竟然可以通过浏览直接浏览到服务器的文件目录,一下子吓我一身冷汗,幸亏发现的早,通过网站查阅资料,发现问题的原因如下:

当浏览器请求一个URL路径时(并不是某个具体的页面),如果你的服务器下当前页面(其实就是一个文件夹)没有index.html等页面时,apach默认是展示目录的文件结构,真是坑爹

解决方法

找到/etc/apache2/apache2.conf配置文件,原本的配置如下:

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

其中Options Indexes FollowSymLinks的含义就是当目录下没有index.html等页面时,就展示目录结构,我们只需将Indexes去掉即可,修改后:

<Directory /var/www/>
        Options FollowSymLinks #修改
        AllowOverride None
        Require all granted
</Directory>

最后重启服务器:

sudo /etc/init.d/apache2 restart

这样如果用户尝试通过浏览器访问目录时,就会被重定向到404页面。

发表评论

电子邮件地址不会被公开。