Spec-Zone.ru › Caddy

basic_auth

Включает HTTP Basic аутентификацию, которая может использоваться для защиты каталогов и файлов с помощью имени пользователя и хэшированного пароля.

Обратите внимание, что basic auth небезопасен по протоколу HTTP без шифрования. Будьте осторожны, когда решаете, что защищать с помощью HTTP Basic аутентификации.

Когда пользователь запрашивает защищённый ресурс, браузер запросит у пользователя имя пользователя и пароль, если они ещё не были предоставлены. Если правильные учетные данные присутствуют в заголовке Authorization, сервер предоставит доступ к ресурсу. Если заголовок отсутствует или учетные данные неверны, сервер ответит HTTP 401 Неавторизован.

Конфигурация Caddy не принимает пароли в виде простого текста; вы ДОЛЖНЫ их хэшировать перед внесением в конфигурацию. Команда caddy hash-password может помочь с этим.

После успешной аутентификации {http.auth.user.id} будет доступно, содержащее имя аутентифицированного пользователя.

До версии 2.8.0 эта директива называлась basicauth, но была переименована для обеспечения согласованности с другими директивами.

Синтаксис

basic_auth [<matcher>] [<hash_algorithm> [<realm>]] {
	<username> <hashed_password>
	...
}
  • <hash_algorithm> — имя алгоритма хэширования паролей (или KDF), используемого для хэшей в этой конфигурации. По умолчанию: bcrypt

  • <realm> — пользовательское имя области.

  • <username> — имя пользователя или идентификатор пользователя.

  • <hashed_password> — хэш пароля.

Примеры

Требовать аутентификацию для всех запросов к example.com:

example.com {
	basic_auth {		# Username "Bob", password "hiccup"
		Bob $2a$14$Zkx19XLiW6VYouLHR5NmfOFU0z2GTNmpkT/5qqR7hx4IjWJPDhjvG
	}
	respond "Welcome, {http.auth.user.id}" 200
}

Защитить файлы в /secret/, чтобы только Bob могли к ним получить доступ (а любой может видеть другие пути):

example.com {
	root * /srv
	basic_auth /secret/* {		# Username "Bob", password "hiccup"
		Bob $2a$14$Zkx19XLiW6VYouLHR5NmfOFU0z2GTNmpkT/5qqR7hx4IjWJPDhjvG
	}
	file_server
}

© 2015-2025 Matthew Holt and The Caddy Authors
Licensed under the Apache License 2.0.
Caddy is a registered trademark of Stack Holdings GmbH.
https://caddyserver.com/docs/caddyfile/directives/basic_auth

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API