На firefly host-уровневый процесс может успешно bind(0.0.0.0:8080) и быть в ss -tlnp, но входящие TCP-пакеты на 8080 он не получает. Docker iptables PREROUTING DNAT'ает их в контейнер owncloud_owncloud.1.* (172.21.0.4:8080). Apache в этом контейнере отвечает 400 с телом "Invalid host_name configuration" — потому что Host: от стороннего источника не входит в его allowed list.
curl http://127.0.0.1:8080/ → HTTP/1.1 400 Bad Request, Server: Apache/2.4.62 (Debian), body Invalid host_name configuration.ss -tlnp | grep 8080 показывает host-процесс (например llama-swap pid).iptables -t nat -L DOCKER содержит DNAT ... tcp dpt:opsmessaging to:172.21.0.4:8080 (порт 8080 называется opsmessaging в /etc/services).Конкретное правило DNAT добавил Docker когда деплоился owncloud-стек с published port: 8080 — оно живёт в PREROUTING до того как пакет может достичь host-процесса.
8089 свободен, проверял), и обновить ссылающиеся traefik-route или systemd unit (--listen 0.0.0.0:8089).sysctl net.ipv4.ip_forward или подобное — это про корректировку конфликта в неправильном слое.Проверять список published-портов компонентов на firefly:
docker ps --format '{{.Names}} {{.Ports}}'
Целевой порт не должен быть в этом списке.
llama-swap (pid 1645) был запущен на 0.0.0.0:8080 через systemd-юнит — все запросы получали owncloud Apache. Перенесён на 8089, traefik route pro-4gain-llama.yml указывает на http://10.19.1.150:8089.
Changelog
firefly_port_8080_taken (claude/forGain)