Skip to content

Шаблон обратного проксирования на traefik

Notifications You must be signed in to change notification settings

newparadigma/traefik

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Шаблон обратного проксирования на traefik

ВНИМАНИЕ ИНСТРУКЦИЯ ДЕМОНСТРИРУЕТ ПРОКСИРОВАНИЕ С ДОМЕНОВ 3го УРОВНЯ

Описание

Данный шаблон демонстрирует пример обратного проксирования traefik для контейнеров докера.
В этом примере Traefik:

  • Перенаправляет все запросы с http на https.
  • Автоматически генерирует и перегенерирует сертификаты let's encrypt.
  • Проксирует запросы к контейнерам докера, без необходимости на них пробрасывать порты наружу.

Используемые технологии:

  • docker
  • docker-compose v3
  • traefik v2.5
  • htpasswd из пакета apache2-utils

Инструкция по созданию обратного прокси для контейнеров докер.

  1. В настройках DNS вашего регистратора, добавьте записи доменов 3го уровня. Примеры:
NAME TYPE VALUE
example.example.com A 192.168.0.1
example A 192.168.0.1
* A 192.168.0.1
  1. Дайте права 600 на фаил acme.json.
sudo chmod 600 acme.json
  1. Добавьте labels в docker-compose.yml проекта, который должен будет хоститься на домене 3го уровня. Пример находится в файле docker-compose.another-project.yml.

  2. Создайте общую сеть для проксируемых контейнеров docker. В моём примере она носит название traefik. В неё нужно будет пробрасывать все интересующие контейнеры docker.

docker network create traefik
  1. Если вы оставили включённой панель управления traefik, измените traefik.example.com на ваш домен в файле: docker-compose.yml.

  2. При наличии авторизации для панели управления traefik. Создайте пароль для базовой авторизации панели traefic командой:

echo $(htpasswd -nb USER PASSWORD) | sed -e s/\\$/\\$\\$/g

Пример:

echo $(htpasswd -nb john 2021john093124a) | sed -e s/\\$/\\$\\$/g

^ вывод этой команды нужно будет полностью в ставить в docker-compose.yml в "traefik.http.middlewares.basic-auth.basicauth.users".
Пример:

labels:
 - "traefik.http.middlewares.basic-auth.basicauth.users=john:$$apr1$$OTx4Ge0E$$gSBhoiWdi90Z1ggNcLzn2/"
  1. Запустите контейнер с traefik коммандой:
docker-compose up -d

Хитрости и советы

  • Если у вас для домена был сгенерирован сертификат, но браузер пишет что он недействителен то его можно перегенерировать. Для этого вам нужно убрать сертификат из "acme.json". Пример готового сертификата:
{
  "domain": {
    "main": "example.example.com"
  },
  "certificate": "certificate",
  "key": "key",
  "Store": "default"
},

Подобную структуру нужно будет удалить.

About

Шаблон обратного проксирования на traefik

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published