Контейнеры Docker, соединенные с VPN, не работают с Nginx Proxy на Synology

Привет всем,

У меня есть Synology DS1520+, на котором работают все мои контейнеры Docker.
Эти контейнеры Docker подключены к VPN-сети, которая настроена с контейнером (Nord) VPN. Я хочу настроить обратный прокси для этих контейнеров, потому что обратный прокси Synology оказался слишком сложным, если его сбросить. Однако эта же настройка работала в моем настройках обратного прокси на Synology…

Менеджер прокси Nginx работает корректно, и контейнеры, и сеть тоже работают. Я пробовал разные методы через различные посты на форумах и в руководствах, но я довольно новичок в этом, и моя настройка отличается от общепринятых.
Мне удавалось это сделать в один раз, но только если я подключаю все свои контейнеры к моему Macvlan (сделано через Portainer), но тогда VPN будет бесполезен (а я не хочу этого).

Я использую Cloudflare для своего DNS, и это тоже кажется в порядке.
Я пробовал подключить Nginx к моей VPN-сети, чтобы они все были в одной сети, но это не работает.
Я получаю либо ошибку 504, либо ошибку 523 шлюза…
Я подключил Nginx к своему маршрутизатору (через Macvlan), потому что порты 80 и 443 заняты самой Synology.

У меня нет настроечного файла, потому что я не совсем понимаю его или не могу найти его на YouTube каналах с объяснениями.

Вот мой файл docker compose для Nginx Proxy с Ombi в качестве примера контейнера, для которого я хочу настроить обратный прокси. Пожалуйста, дайте знать, если я упустил что-то важное или сделал ошибку новичка. Я тоже не силен в сетях и считаю, что это основная проблема и причина, почему я написал этот пост. Всем спасибо заранее:

---
version: '3'
services:

  nginxproxy:
    image: 'jc21/nginx-proxy-manager:latest'
    container_name: NPM
    restart: always
    depends_on:
      - db
    ports:
      # Эти порты в формате <порт-хоста>:<порт-контейнера>
      - '888:80' # Публичный HTTP Порт
      - '4444:443' # Публичный HTTPS Порт
      - '81:81' # Порт веб-администратора
      # Добавьте любой другой порт потоковой передачи, который хотите открыть
      # - '21:21' # FTP
    environment:
      # Параметры подключения к Mysql/Maria:
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
      # Убедитесь, что этот параметр комментарий, если IPv6 не включен на вашем хосте
      DISABLE_IPV6: 'true'
    volumes:
      - /volume1/docker/nginxproxymanager/data:/data
      - /volume1/docker/nginxproxymanager/letsencrypt:/etc/letsencrypt
      - /volume1/docker/nginxproxymanager/themepark:/etc/cont-init.d/99-themepark
      - /var/run/docker.sock:/tmp/docker.sock:ro
    stdin_open: true 
    tty: true
    networks: 
      net:
        ipv4_address: 192.168.x.x
#Или networks: 
      vpn_default

  db:
    image: 'jc21/mariadb-aria:latest'
    container_name: NPM-DB
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: "npm"
      MYSQL_DATABASE: "npm"
      MYSQL_USER: "npm"
      MYSQL_PASSWORD: "npm"
      MARIADB_AUTO_UPGRADE: 1
    volumes:
      - /volume1/docker/nginxproxymanager/mysql:/var/lib/mysql
    stdin_open: true 
    tty: true
    networks: 
      vpn_default
    
  ombi:
    image: lscr.io/linuxserver/ombi:latest
    container_name: Ombi
    environment:
      - PUID=1026
      - PGID=100
      - TZ=Europe/xxx
      #- BASE_URL=/ombi #опционально
    volumes:
      - /volume1/docker/ombi/config:/config
    ports:
      - 3579:3579
    restart: unless-stopped
    stdin_open: true 
    tty: true
    networks: 
      vpn_default

Обновление: Я РЕШИЛ / УСТРАНИЛ проблему.

РЕШЕНИЕ:

  • Порты: Войдите в веб-интерфейс вашего маршрутизатора.

  • Перейдите в раздел переадресации портов.

  • Добавьте новые правила переадресации портов:

    • Переадресуйте внешний порт 80 на внутренний порт 888 на IP-адресе вашего Synology NAS.
    • Переадресуйте внешний порт 443 на внутренний порт 4444 на IP-адресе вашего Synology NAS.
  • Cloudflare:

  • Установите свое общее доменное имя (например, Domain-name.com) в режиме прокси.

  • Опционально: установите поддомен, который вы создали, как A-значение, только DNS

  • После этого вы можете снова установить его в режим прокси.

  • Совет: Не забудьте установить SSL/TLS (в левой панели) на Полное шифрование.

И вот.

Надеюсь, это поможет кому-то в будущем…
Всего наилучшего!