【问题标题】:Apache forbidden access with DockerApache 禁止使用 Docker 访问
【发布时间】:2018-02-10 12:07:03
【问题描述】:

我在 docker-compose.yml 上构建这个镜像

version: '2'

services:
  webserver:
  build: ./docker/webserver
  image: image_name
  ports:
    - "80:80"
    - "443:443"
  volumes:
    - /Users/user_name/Sites/site:/var/www/html

并且在 Dockerfile 上有这个命令

 FROM php:7-apache
 RUN apt-get update -y && apt-get install -y libpng-dev && apt-get 
 install -y libcurl4-openssl-dev
 RUN docker-php-ext-install pdo pdo_mysql gd curl
 RUN a2enmod rewrite
 RUN service apache2 restart

但我明白了

Forbidden

You don't have permission to access / on this server.
Apache/2.4.10 (Debian) Server at localhost Port 80

当我去本地主机时。

我使用 Mac。 我已经将 docker 文件用于其他项目并且一切都很好。 我错过了什么?

日志响应

无法提供目录 /var/www/html/:没有匹配的 DirectoryIndex (index.php,index.html) 找到,和服务器生成的目录索引 选项指令禁止

【问题讨论】:

  • 日志是怎么说的?
  • @whites11 感谢您的回复。编辑了日志响应的问题。

标签: apache docker server


【解决方案1】:

看起来 apache 没有找到要服务的索引页面。确保您的卷映射正确(输入带有docker exec 的图像并检查/var/www/html 文件夹的内容)。如果您的文件在那里,请确保您有一个 index.htmlindex.php 文件以便为 apache 提供服务。

【讨论】:

    【解决方案2】:

    如果您将 apache 文档根目录更改为 /var/www 之外的非标准内容,您将需要在您的虚拟主机中授予访问权限:

    DocumentRoot /workspace/my-project
    
    <Directory /workspace/my-project>
        Require all granted
    </Directory>
    

    【讨论】:

      猜你喜欢
      • 2017-10-13
      • 2017-02-20
      • 2014-07-04
      • 1970-01-01
      • 2019-03-26
      • 1970-01-01
      • 2015-01-28
      • 2016-08-05
      • 2016-01-23
      相关资源
      最近更新 更多