通过 Traefik 代理 noVNC:结果波动

问题描述

我正在尝试使用 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 服务端口和方案强制为 8080http。试图设置粘性 cookie。但结果是一样的。

我也尝试过使用 Nginx 作为反向代理,并且成功运行。

解决这个问题的想法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...