开发者社区> 问答> 正文

Apache 无访问权限的问题

已解决

使用Apache作为web服务器, 经常会遇到无权限的问题, 服务器显示:

Forbidden
You don't have permission to access / on this server.

展开
收起
idevcloud 2016-04-09 10:47:08 3693 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    造成这种问题的原因很多,最常见的是在Unix/Linux/MacOS系统中, 该目录在 文件系统 中没有权限, 可以使用命令 chmod -R 777 目录名 为该目录赋权限

    其次可能是Apache的配置禁止了访问权限, 需要配置如下

    <Directory "/www">
            Options Indexes FollowSymLinks
            AllowOverride All
            Order allow,deny
            Allow from all        
            Require all granted   
    </Directory>

    Options是对该目录的一些选项, Indexes表示在没有index.html等文件的时候显示文件列表
    AllowOverride All 表示允许使用.htaccess文件重写URL
    Order allow,deny和Allow from all是对ip的访问配置
    Require all granted 意思是允许所有的请求
    使用某些第三方软件来安装的Apache, 比如在ubuntu下用apt-get命令, 默认配置文件中会有这么一段配置:

    <Directory />
            Options FollowSymLinks
            AllowOverride ALL
            Require all denied
    </Directory>

    出于安全方便的考虑, 将根目录/(也包含它的子目录)全部使用Require all denied设置为禁止访问,将此行注释掉即可访问, 但不建议这么做, 最好是仅对需要访问的目录使用Require all granted来单独赋权

    其他还有一些, 比如目录下存在一个.htaccess文件, 内容为Deny from all, 或者目录下存在一个静态文件index.html,内容为

    <html>
    <head>
        <title>403 Forbidden</title>
    </head>
    <body>
    <p>Directory access is forbidden.</p>
    </body>
    </html>

    也可以使浏览器显示一个无权限的状态

    这两种方法通常是在无法修改服务器配置和Apache配置的情况下, 需要禁止一些目录的访问权限的时候使用

    2019-07-17 18:40:04
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Apache Flink技术进阶 立即下载
Apache Spark: Cloud and On-Prem 立即下载
Hybrid Cloud and Apache Spark 立即下载

相关镜像