【问题标题】:Nginx Proxy Manager Bad Gateway (Docker Wordpress and Nextcloud)Nginx 代理管理器坏网关(Docker Wordpress 和 Nextcloud)
【发布时间】:2021-08-23 22:24:26
【问题描述】:

我家里有树莓,我尝试运行以下设置:

  • Nginx 代理管理器 (jc21/nginx-proxy-manager) 作为访问的反向代理
  • 搬运工(搬运工/搬运工-ce)
  • Wordpress(docker 官方图片)
  • Nextcloud(docker 官方镜像)

对于搬运工来说它工作得非常好,但对于其他两个我得到一个错误的网关错误(https 和 http)。

我在网上找到了一些解决方案,但没有一个对我有用 + 所有这些都是“做这个、这个和这个”的解决方案。我想真正了解发生了什么以及如何解决这个问题。

我在 Nginx 代理管理器中链接了我使用的 docker-compose 文件和 conf 屏幕。

感谢您的帮助!

Nginx 代理管理器

    version: "3.8"
    networks:
        dockerpi:
        external: true
    services:
    npm-app:
        image: "jc21/nginx-proxy-manager:latest"
        ports:
        - "80:80"
        - "81:81"
        - "443:443"
        environment:
        DB_MYSQL_HOST: "npm-db"
        DB_MYSQL_PORT: 3306
        DB_MYSQL_USER: "npm"
        DB_MYSQL_PASSWORD: "npm"
        DB_MYSQL_NAME: "npm"
        volumes:
        - ./data:/data
        - ./letsencrypt:/etc/letsencrypt
        networks:
        - dockerpi
    npm-db:
        image: "jc21/mariadb-aria:latest"
        environment:
        MYSQL_ROOT_PASSWORD: "npm"
        MYSQL_DATABASE: "npm"
        MYSQL_USER: "npm"
        MYSQL_PASSWORD: "npm"
        volumes:
        - ./data/mysql:/var/lib/mysql
        networks:
        - dockerpi

搬运工

    version: "3.8"
        networks:
            dockerpi:
            external: true
        services:
        portainer:
            image: portainer/portainer
            privileged: true
            ports:
            - "8000:8000"
            - "9000:9000"
            volumes:
            - "./data:/data"
            - "/var/run/docker.sock:/var/run/docker.sock"
            restart: always
            networks:
            - dockerpi

Nextcloud

    version: "3.8"
    networks:
        dockerpi:
        external: true
    services:
    nextcloud-db:
        image: mariadb
        restart: always
        command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
        volumes:
        - ./db:/var/lib/mysql
        environment:
        - MYSQL_ROOT_PASSWORD=nexcloud
        - MYSQL_PASSWORD=nexcloud
        - MYSQL_DATABASE=nextcloud
        - MYSQL_USER=nextcloud
        networks:
        - dockerpi
    nextcloud-app:
        image: nextcloud
        restart: always
        ports:
        - 8010:80
        - 9010:9000
        links:
        - nextcloud-db
        volumes:
        - ./nextcloud:/var/www/html
        environment:
        - MYSQL_PASSWORD=nextcloud
        - MYSQL_DATABASE=nextcloud
        - MYSQL_USER=nextcloud
        - MYSQL_HOST=nextcloud-db
        networks:
        - dockerpi

WordPress

    version: "3.8"
    networks:
        dockerpi:
        external: true
    services:
    wp-test:
        image: wordpress
        restart: always
        ports:
        - 8020:80
        environment:
        WORDPRESS_DB_HOST: wp-test-db
        WORDPRESS_DB_USER: exampleuser
        WORDPRESS_DB_PASSWORD: examplepass
        WORDPRESS_DB_NAME: exampledb
        volumes:
        - ./wordpress:/var/www/html
        networks:
        - dockerpi
    wp-test-db:
        image: mariadb
        restart: always
        environment:
        MYSQL_DATABASE: exampledb
        MYSQL_USER: exampleuser
        MYSQL_PASSWORD: examplepass
        MYSQL_RANDOM_ROOT_PASSWORD: "1"
        volumes:
        - ./db:/var/lib/mysql
        networks:
        - dockerpi

ps:我不发布屏幕,因为我现在似乎无法发布图像。

【问题讨论】:

    标签: wordpress docker reverse-proxy nextcloud portainer


    【解决方案1】:

    我也面临同样的问题。原来你需要在 nginx 代理管理器的“端口”字段中输入容器端口。例如对于 wordpress,您需要在 'forward/ip' 字段中输入 'wordpress' 并在端口中输入 '80' 才能工作。

    【讨论】:

      【解决方案2】:

      如果这是关于 nginx 代理管理器的管理页面的错误网关错误,我这样做并为我修复了,我希望它也可以解决您的问题:

      1. 将您的 docker-compose.yml 文件更改为:
      version: '2'
      services:
        app:
          image: 'jc21/nginx-proxy-manager:latest'
          restart: unless-stopped
          ports:
            - '80:80'
            - '81:81'
            - '443:443'
          environment:
            DB_MYSQL_HOST: "db"
            DB_MYSQL_PORT: 3306
            DB_MYSQL_USER: "npm"
            DB_MYSQL_PASSWORD: "npm"
            DB_MYSQL_NAME: "npm"
          volumes:
            - ./data:/data
            - ./letsencrypt:/etc/letsencrypt
        db:
          image: 'jc21/mariadb-aria:latest'
          restart: unless-stopped
          environment:
            MYSQL_ROOT_PASSWORD: 'npm'
            MYSQL_DATABASE: 'npm'
            MYSQL_USER: 'npm'
            MYSQL_PASSWORD: 'npm'
          volumes:
            - ./data/mysql:/var/lib/mysql
      
      

      我将其更改为版本 2 而不是 3!

      1. 运行这些命令:

      sudo docker-compose down

      然后

      sudo docker-compose up -d

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-20
        • 1970-01-01
        • 1970-01-01
        • 2022-07-12
        • 1970-01-01
        • 2017-08-16
        • 2021-07-06
        相关资源
        最近更新 更多