[[HTTP авторизация в Nginx]]

HTTP авторизация в Nginx

Авторизация средствами http протокола.
Таким способом можно закрыть доступ к определенным разделам на сайте.

Nginx должен быть собран с модулем ngx_http_auth_basic_module.

Описание директив:

  • auth_basic – текстовое сообщение при авторизации
  • auth_basic_user_file – полный путь к файлу с паролями

Настройка

Пример хоста

server {
	listen          *:80;
	server_name     my.server;

	root /var/www/my.server/htdocs/mysite

	location / {
		...
	}

	location /admin {
		satisfy  any; # разрешить доступ если авторизация прошла успешно

		auth_basic		"admin site";
		auth_basic_user_file	/var/www/my.server/htdocs/mysite/.htpasswd;
	}

	location ~ /\.ht {
		# запрет на доступ к файлам .htpasswd и .htaccess
		deny  all;
	}
}

Создаем файл с пользователями:

htpasswd -c -d /var/www/my.server/htdocs/mysite/.htpasswd USERNAME

Для добавления последующих

htpasswd -d /var/www/my.server/htdocs/mysite/.htpasswd NEWUSERNAME
Описание ключей htpasswd:
  • – создать новый файл.
  • -d – шифрование пароля методом CRYPT

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
32​ -6 = ?
 
practice/nginx/nginx_httpauth.txt · Последние изменения: 2015/04/07 15:07 — lexa
Gentoo Linux Driven by DokuWiki