X-UI/XRay (VLESS) не перенаправляет трафик на сзади стоящий Caddy (по механизму "fallback")

Всем привет, почему не работает fallback на caddy на X-UI (XRay, VLESS+XTLS-Vision, свой домен)?
Когда захожу на свой (суб)домен по SSL без указания портов, сиречь на 443 порт, у меня ничего не загружается, хотя настроенный X-UI должен показывать ответ от caddy.

Оба в одной сети находятся:

caddy:

version: "3.8"
services:
  caddy:
    image: lucaslorentz/caddy-docker-proxy:ci-alpine
    container_name: caddy
    ports:
      # портов нет! Он внутри сети работает и expose'ит что хочет только внутри, но конкретно тут 8081 и 8082
    # ...
    env_file:
      - .env
    networks:
      - caddy-fallback
    # ...

networks:
  caddy-fallback:
    external: true

X-UI:

---
version: "3.8"

services:
  xui:
    image: alireza7/x-ui
    container_name: xui
    ports:
      - 80:80
      - 443:443
      - "${XUI_DASHBOARD_PORT}:${XUI_DASHBOARD_PORT}"
      - "${XUI_WG_PORT}:${XUI_WG_PORT}/udp"
      - "${XUI_VLESS_PORT}:${XUI_VLESS_PORT}"
      - "${XUI_SS2022_PORT}:${XUI_SS2022_PORT}"
      - "${XUI_SUB_PORT}:${XUI_SUB_PORT}"
    env_file:
      - .env
    networks:
      - caddy-fallback
    # ...

networks:
  caddy-fallback:
    external: true

Конфиг Caddyfile:

# ...

:{$FALLBACK_PORT_1} {
    import logging {$FALLBACK_PORT_1};
    respond "Handled by Caddy 1" 200
}

:{$FALLBACK_PORT_2} {
    import logging {$FALLBACK_PORT_2};
    respond "Handled by Caddy 2" 200
}

Результирующий конфиг XRay:

{
      "listen": null,
      "port": XXXXX,
      "protocol": "vless",
      "settings": {
        "clients": [
          {
            "email": "demouser@example.tld_vless",
            "flow": "",
            "id": "XXXX"
          }
        ],
        "decryption": "none",
        "fallbacks": [
          {
            "alpn": "",
            "dest": "caddy:8081",
            "name": "",
            "path": "",
            "xver": 1
          },
          {
            "alpn": "h2",
            "dest": "caddy:8082",
            "name": "",
            "path": "",
            "xver": 2
          }
        ]
      },
      "sniffing": {
        "destOverride": [
          "http",
          "tls",
          "quic",
          "fakedns"
        ],
        "enabled": true,
        "metadataOnly": false,
        "routeOnly": false
      },
      "streamSettings": {
        "network": "tcp",
        "security": "tls",
        "tcpSettings": {
          "acceptProxyProtocol": false,
          "header": {
            "type": "none"
          }
        },
        "tlsSettings": {
          "alpn": [
            "h2",
            "http/1.1"
          ],
          "certificates": [
            {
              "certificateFile": "/etc/letsencrypt/live/<DOMAIN>/fullchain.pem",
              "keyFile": "/etc/letsencrypt/live/<DOMAIN>/privkey.pem",
              "ocspStapling": 3600
            }
          ],
          "cipherSuites": "",
          "maxVersion": "1.3",
          "minVersion": "1.2",
          "rejectUnknownSni": true,
          "serverName": ""
        }
      },
      "tag": "inbound-XXXXX"
    }

И он вполне себе отвечает, если пингую из-под контейнера X-UI:

/app # wget -qO- caddy:8081
Handled by Caddy 1/app #
/app # wget -qO- caddy:8082
Handled by Caddy 2/app #

Так в чём дело? alpn пытался настраивать (h1, http/1.1, h2), dest тоже менял с 8081 на caddy:8081 и т. д.

Вот скриншот настроек VLESS:
X-UI

Интересно, почему? За что мне всё это? Чем я это заслужил? Как теперь жить? Когда Дурова и Поднебесного отпустят?