问题描述
我正在尝试使用 Traefik v2 反向代理代理 easy-novnc docker container 提供的 noVNC 服务。 该服务正在使用 websocket,并且 Traefik 被配置为向 https 前端提供让我们加密证书。
我的问题是 Traefik 尝试连接到 easy-novnc 并在超时(504 网关超时)时失败。但是每次重启结果并不一致,可能10次重启1次,问题没有出现,一切都按预期进行。
- 我已经通过直接访问检查过 easy-noVNC 是否按预期工作。
- 我还检查了 Let's encrypt 证书是否有效
这是我的配置:
version: "3"
networks:
traefik:
external: true
services:
desktop:
# This service expose a working vnc
easy-vnc:
image: geek1011/easy-novnc:latest
environment:
NOVNC_ADDR: 0.0.0.0:8080
NOVNC_NO_URL_PASSWORD: 1
NOVNC_HOST: desktop
NOVNC_PORT: 5900
NOVNC_ParaMS: resize=remote
NOVNC_VERBOSE: 1
NOVNC_ARBITRARY_HOSTS: 1
restart: unless-stopped
ports:
- "8080:8080"
depends_on:
- desktop
networks:
- default
- traefik
labels:
- "traefik.enable=true"
- "traefik.http.routers.vncapp.entrypoints=https"
- "traefik.http.routers.vncapp.rule=Host(`my.host.com`)"
- "traefik.http.routers.vncapp.tls=true"
- "traefik.http.routers.vncapp.tls.certresolver=letsencrypt"
我尝试将 X-Forwarded-Proto
强制为 https,尝试将 Traefik 服务端口和方案强制为 8080
和 http
。试图设置粘性 cookie。但结果是一样的。
我也尝试过使用 Nginx 作为反向代理,并且成功运行。
有解决这个问题的想法吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)