Использование пользовательского домена для страницы django через traefik

у меня есть мой первый пользовательский домен (через godaddy)

ive подключил его к cloudflare.

я хочу подключиться к нему с помощью traefik.

У меня есть веб-страница django, которая отлично работает на порту 8000, поэтому я переключил ее на 80 (потому что это то, что я думаю, что мне нужно для traefik, чтобы увидеть его) и ничего не получилось. попытка подключиться к моему пользовательскому домену просто зависает и порт дает мне 404 ошибку.

приборная панельtraefik выглядит нормально, как и мои записи на cloudflare (насколько я могу судить, я никогда этого не делал)

я надеялся, что кто-нибудь сможет помочь мне подключиться к моей странице django через мой пользовательский домен. есть ли что-нибудь, что я сделал в доказательствах, приведенных ниже, что выглядит неправильно? есть ли что-нибудь еще, что вам нужно увидеть?

мой docker-compose.yml находится ниже

version: "3.3"

services:

  traefik:
    image: "traefik:v2.9"
    container_name: "traefik"
    command:
      #- "--log.level=DEBUG"
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
    ports:
      - "80:80"
      - "8080:8080"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"


  frontend:
    build: frontend
    image: frontend
    container_name: frontend
#    ports:
#        - 8000:8000
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.whoami.rule=Host(`tgmjack.com`)"
      - "traefik.http.routers.whoami.entrypoints=web"

Ниже приведена коллекция скриншотов, демонстрирующих каждую вещь.

enter image description here

есть ли у вас какие-либо советы или вопросы?

В некоторых руководствах, которые я видел, используется ключ API, нужен ли мне ключ API?

Некоторые соображения:

  1. Указывание GoDaddy игнорируется, если вы используете Cloudflare для DNS, поэтому мы рассматриваем только Cloudflare.
  2. На CloudFlare вам нужно удалить тот случайный ip, который вы нашли в качестве записи A.
  3. Вам не нужно менять порт вашего контейнера с 8000 на 80, вам придется управлять с помощью "ingress" или иначе веб-сервера (nginx, например) проксипасом к localhost:8000.
  4. Traefik, вероятно, уже имеет "ingress", используемый для подтверждения сертификата, вот почему он возвращает вам ошибку на ".well-known/acme-challenge". Этот файл используется для определения фактического владельца домена, что необходимо для генерации действительного SSL/TLS сертификата. Для этого вам нужно убедиться, что при вызове вашего сервера по адресу localhost:8000/.wellknow/acme-challenge он возвращает файл с уникальным ключом. Вы, конечно, найдете эту информацию на Traefik (https://doc.traefik.io/traefik/https/acme/) это ссылка на учебник.
  5. .

Я рекомендую вам начать проверку правильности конфигурации таргетинга CloudFlare с удаления всего, что вам не нужно.

Надеюсь, я был вам полезен!

Вернуться на верх