【问题标题】:docker nginx reverse proxy 503 Service Temporarily Unavailabledocker nginx反向代理503服务暂时不可用
【发布时间】:2021-07-25 06:31:00
【问题描述】:

我想使用 nginx 作为我的远程家庭自动化访问的反向代理。

我的基础架构 yaml 如下所示:

# /infrastructure/docker-compose.yaml
version: '3'

services:
  proxy:
    image: jwilder/nginx-proxy:alpine
    container_name: proxy
    networks:
      - raspberry_network
    ports:
      - 80:80
      - 443:443
    environment:
      - ENABLE_IPV6=true
      - DEFAULT_HOST=${RASPBERRY_IP}
    volumes:
      - ./proxy/conf.d:/etc/nginx/conf.d
      - ./proxy/vhost.d:/etc/nginx/vhost.d
      - ./proxy/html:/usr/share/nginx/html
      - ./proxy/certs:/etc/nginx/certs
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/tmp/docker.sock:ro
    restart: always

networks:
  raspberry_network:

我的包含应用配置的 yaml 如下所示:

# /apps/docker-compose.yaml

version: '3'

services:
  homeassistant:
    container_name: home-assistant
    image: homeassistant/raspberrypi4-homeassistant:stable
    volumes:
      - ./homeassistant:/config
      - /etc/localtime:/etc/localtime:ro
    environment:
      - 'TZ=Europe/Berlin'
      - 'VIRTUAL_HOST=${HOMEASSISTANT_VIRTUAL_HOST}'
      - 'VIRTUAL_PORT=8123'
    deploy:
      resources:
        limits:
          memory: 250M
    restart: unless-stopped
    networks:
      - infrastructure_raspberry_network
    ports:
      - '8123:8123'

networks:
  infrastructure_raspberry_network:
    external: true

我通过 portainer 验证了两个容器都连接到同一个网络。但是,当访问我的树莓派 192.168.0.10 的本地 IP 时,我收到“503 服务暂时不可用”。

当然,当我尝试通过虚拟主机域 xxx.xxx.de 访问我的应用程序时,它也不起作用。

知道问题可能是什么吗?或者任何想法如何进一步调试?

【问题讨论】:

  • Or any ideas how to further debug this? => docker-compose logs homeassistant 找出为什么它没有运行或很难回答请求。
  • HA 正在运行。我可以通过输入树莓派的 ip 地址进入应用程序
  • 你检查过nginx容器中/var/log/nginx/error.log的错误日志吗?

标签: docker nginx docker-compose nginx-reverse-proxy


【解决方案1】:
  1. 您需要在后端环境变量中指定正确的VIRTUAL_HOST,并确保它们在同一个网络(或 docker bridge 网络)上

  2. 确保所有指定 VIRTUAL_HOST 的容器在 nginx-proxy 容器运行之前运行。使用docker-compose,这可以通过添加到nginx-proxy 容器的depends_on 配置来实现

【讨论】:

  • 1.我做得对。我很确定。 2. 你的意思是先启动app,然后启动nginx-proxy容器?
  • 是的@WorkoutBuddy
猜你喜欢
  • 2021-04-12
  • 2019-12-29
  • 2021-10-03
  • 1970-01-01
  • 2019-03-18
  • 1970-01-01
  • 2018-08-18
  • 2016-10-26
  • 2011-12-19
相关资源
最近更新 更多