Возможно, вы захотите разрешить доступ к вашему сайту только определенным пользователям. Например, когда вы показываете ваш сайт своему начальнику, вы дадите ему логин и пароль для входа на сайт.
Чтобы разрешить доступ к вашему сайту по логину и паролю, вы можете изменить файл виртуального хоста, добавив в него следующие строки:
AuthType Basic
AuthName "Authentication Required"
AuthUserFile /usr/local/apache/passwd/passwords
Require valid-user
Строка 1 определяет метод аутентификации. Самый распространенный из
них - Basic. Важно, однако, помнить, что базовая аутентификация посылает
пароль от клиента к серверу незашифрованным. Поэтому этот метод не следует
использовать для уязвимых данных. Apache поддерживает еще один метод
аутентификации: AuthType Digest
. Этот метод гораздо более безопасный.
Большинство новых браузеров поддерживают этот метод.
Строка 2 определяет текст, который будет отображен при попытке пользователя залогиниться.
Строка 3 определяет файл, где будут храниться пароли. Этот файл нужно создавать
утилитой htpasswd
.
Строка 4 позволит залогиниться всем, кто корректно ввел пароль.
Чтобы создать файл passwords
, введите следующую команду:
htpasswd -c /usr/local/apache/passwd/passwords <username>
В этой команде вы должны заменить плейсхолдер <username>
на логин.
Вы можете выбрать временный логин, например "admin". Команда потребует пароль
и затем запишет его в файл:
# htpasswd -c /usr/local/apache/passwd/passwords <username>
New password:
Re-type new password:
Adding password for user <username>
Когда пользователь попытается зайти на сайт, он увидит диалоговое окно с HTTP-аутентификацей. Чтобы зайти на ваш сайт, посетителю необходимо будет ввести корректные логин и пароль.
Дополнительную информацию о HTTP-аутентификации вы можете найти в разделе документации Apache Аутентификация и авторизация