Для начала надо установить apache2-utils
$ sudo apt install -y apache2-utils
После этого можно создать файл с учетными данными для входа, например
$ htpasswd -c /etc/nginx/.htpasswd user
где user
- логин пользователя, под которым будете входить.
После выполнения команды система спросит пароль, с ним будете входить.
Если файл уже создан, то для последующих пользователей уберите флаг -c
:
$ htpasswd /etc/nginx/.htpasswd user2
Теперь внесите в конфигурацию nginx (например, /etc/nginx/sites-enabled/default
) изменения, чтобы он спрашивал доступ.
Вот эти строки:
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
Чтобы получилось, например:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm;
server_name localhost;
location / {
try_files $uri $uri/ =404;
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
}
}