Чтобы обеспечить ваш веб -сайт базовой HTTP -аутентификацией в Traefik, сделайте следующее.
1. Скачать apache2-utils
sudo apt install apache2-utils
2. Создать пароль и скопировать его вывод
htpasswd -nB adam
n
Опция отобразит хэш в stdout и B
Опция будет использовать более безопасное шифрование.
Devto
Хэш пароля показан ниже:
adam:$2y$05$h9OxLeY20/5uiXjfPgdRxuFlrfqBf2QifYDgrwsR6rAEgX3/dpOGq
3. Заменить $ $$
adam:$$2y$$05$$h9OxLeY20/5uiXjfPgdRxuFlrfqBf2QifYDgrwsR6rAEgX3/dpOGq
4. Создайте новое промежуточное программное обеспечение в Traefik для HTTP Basic Auth для вашей https entrypoint.
labels: - "traefik.http.middlewares.yourservice-basicauth.basicauth.users=adam:$$2y$$05$$h9OxLeY20/5uiXjfPgdRxuFlrfqBf2QifYDgrwsR6rAEgX3/dpOGq"
Не забудьте использовать сбежавший двойной $
Анкет
5. Создайте новую цепочку для вашего подключения HTTPS.
У вас могут быть существующие правила для вашего маршрута HTTPS, например, сжатие и т. д.
Поэтому создайте новую цепь, где вы объедините свои существующие средние воры и вновь созданные Yoursite-basicauth
Анкет
В вашем Docker-compose.yml
файл:
labels: - "traefik.http.middlewares.yourservice-https-chain.chain.middlewares=yourservice-basicauth,yourservice-other-middleware-remove-or-replace-with-yours" - "traefik.http.routers.yourservice-https.middlewares=yourservice-https-chain"
Перезагрузите ваш сервис, и ваш сайт теперь предложит браузеры для имени пользователя и пароля.
Оригинал: «https://dev.to/limal/basic-http-authentication-in-traefik-15l6»