如何解决docker nginx 反向代理 503 服务暂时不可用
我想使用 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,我验证了两个容器都连接到同一个网络。但是,在访问我的 raspberry pi 192.168.0.10 的本地 IP 时,我收到“503 服务暂时不可用”。
当然,当我尝试通过虚拟主机域 xxx.xxx.de 访问我的应用程序时,它都不起作用。
知道可能是什么问题吗?或者任何想法如何进一步调试?
解决方法
-
您需要在后端环境变量中指定正确的
VIRTUAL_HOST
并确保它们位于同一网络(或 docker 桥接网络)上 -
确保所有指定
来实现VIRTUAL_HOST
的容器在nginx-proxy
容器运行之前正在运行。使用docker-compose
,这可以通过添加到depends_on
容器的nginx-proxy
配置
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。