Docker 设置问题:Drupal 容器显示“403 Forbidden”错误

问题描述 投票:0回答:1

我已经为 Drupal 设置了一个 Docker 环境,其中包含三个服务:Drupal、MySQL 和 phpMyAdmin。当我尝试在端口 8085 上访问 Drupal 时,遇到“403 Forbidden Error”。以下是我的 docker-compose.yml 配置:

services:
  drupal:
    image: drupal:9
    container_name: drupal
    ports:
      - "8085:80"
    volumes:
      - ./drupal:/var/www/html
    depends_on:
      - db
    networks:
      - drupal-network
  db:
    image: mysql:5.7
    container_name: drupal-db
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: drupal
      MYSQL_USER: drupal
      MYSQL_PASSWORD: drupal
    volumes:
      - db-data:/var/lib/mysql
    networks:
      - drupal-network
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: phpmyadmin-drupal
    ports:
      - "8081:80"
    environment:
      PMA_HOST: db
      MYSQL_ROOT_PASSWORD: root
    depends_on:
      - db
    networks:
      - drupal-network
volumes:
  db-data:
networks:
  drupal-network:
    driver: bridge

问题描述:

When I try to access Drupal on http://localhost:8085, I get a "403 Forbidden" error.
The drupal container starts successfully, and I can see the logs, but Drupal doesn’t load.
phpMyAdmin works fine on port 8081.

我尝试过的事情: 使用 docker-compose restart 重新启动所有容器。 验证 MySQL 凭据是否正确以及 Drupal 是否已正确配置为连接到数据库。

任何人都可以建议为什么我可能会收到“403 Forbidden”错误以及如何解决它?

docker drupal
1个回答
0
投票

我不是网络开发人员,但错误相当明显:

drupal             | [Sun Nov 17 16:42:43.247661 2024] [autoindex:error] [pid 17] [client 172.21.0.1:48032] AH01276: Cannot serve directory /var/www/html/: No matching DirectoryIndex (index.php,index.html) found, and server-generated directory index forbidden by Options directive

您需要将一些基本的index.html放入./drupal或删除 这个:

volumes:
  - ./drupal:/var/www/html

从 docker-compose.yml 使用默认安装程序。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.