<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://support.qbpro.ru/index.php?action=history&amp;feed=atom&amp;title=Nginx_%E2%80%94_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B0_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0</id>
	<title>Nginx — настройка запрета доступа - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://support.qbpro.ru/index.php?action=history&amp;feed=atom&amp;title=Nginx_%E2%80%94_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B0_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0"/>
	<link rel="alternate" type="text/html" href="https://support.qbpro.ru/index.php?title=Nginx_%E2%80%94_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B0_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0&amp;action=history"/>
	<updated>2026-04-03T17:44:25Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.38.1</generator>
	<entry>
		<id>https://support.qbpro.ru/index.php?title=Nginx_%E2%80%94_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B0_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0&amp;diff=784&amp;oldid=prev</id>
		<title>imported&gt;Vix: Новая страница: «== '''Как конфигурацией Nginx закрыть доступ к файлам/папке по паролю.'''== В конфигурационном …»</title>
		<link rel="alternate" type="text/html" href="https://support.qbpro.ru/index.php?title=Nginx_%E2%80%94_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B0_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0&amp;diff=784&amp;oldid=prev"/>
		<updated>2013-09-01T00:47:54Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «== &amp;#039;&amp;#039;&amp;#039;Как конфигурацией Nginx закрыть доступ к файлам/папке по паролю.&amp;#039;&amp;#039;&amp;#039;== В конфигурационном …»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== '''Как конфигурацией Nginx закрыть доступ к файлам/папке по паролю.'''==&lt;br /&gt;
В конфигурационном файле, в папке, которую хотим закрыть надо только указать файл, где хранятся пароли.&lt;br /&gt;
Вот 2 примера для закрытия папки с файлами:&lt;br /&gt;
&lt;br /&gt;
 location ^~ /files/ {&lt;br /&gt;
  root   /path/to/server;&lt;br /&gt;
  autoindex    on;&lt;br /&gt;
  autoindex_exact_size  off;&lt;br /&gt;
  auth_basic &amp;quot;Hello, please login&amp;quot;;&lt;br /&gt;
  auth_basic_user_file /usr/nginx/passwords;&lt;br /&gt;
  access_log   /usr/nginx/logs/files.log   download;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
и админовской части c дополнительным ограничением по IP:&lt;br /&gt;
&lt;br /&gt;
 location ^~ /admin/ {&lt;br /&gt;
  fastcgi_pass unix:/home/project/server.sock;&lt;br /&gt;
  include  conf/fastcgi.conf;&lt;br /&gt;
  allow 11.11.0.0/16;&lt;br /&gt;
  allow 22.22.22.22;&lt;br /&gt;
  deny all;&lt;br /&gt;
  auth_basic &amp;quot;Hello, Admin, please login&amp;quot;;&lt;br /&gt;
  auth_basic_user_file /usr/nginx/adminpassword;&lt;br /&gt;
  access_log   /usr/nginx/logs/admin.log  main;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Добавить пользователя можно с помощью стандартной утилиты от apache:&lt;br /&gt;
&lt;br /&gt;
 htpasswd -b passwords NewUser NewPassword&lt;br /&gt;
&lt;br /&gt;
В файле запись с зашифрованным паролем имеет вид:&lt;br /&gt;
&lt;br /&gt;
 NewUser:P47gh66kloG78: Your Can Comment Here&lt;br /&gt;
&lt;br /&gt;
Защиту от перебора паролей можно организовать одновременно двумя методами, основанными на использовании iptables:&lt;br /&gt;
* Блокирование IP на время, если количество запросов в секунду превышает какое-либо разумное количество&lt;br /&gt;
* Вести лог неудачных попыток подбора пароля и скриптом раз в минуту проверять лог и заносить IP адреса в iptables&lt;br /&gt;
Для первого варианта достаточно создать правила:&lt;br /&gt;
&lt;br /&gt;
 iptables -A INPUT -p tcp --syn --dport 80 -i eth0 -m state --state NEW&lt;br /&gt;
 -m recent --name bhttp --set&lt;br /&gt;
 iptables -A INPUT -p tcp --syn --dport 80 -i eth0 -m state --state NEW&lt;br /&gt;
 -m recent --name bhttp --update --seconds 120&lt;br /&gt;
 --hitcount 360 -j DROP&lt;br /&gt;
 iptables -A INPUT -p tcp --syn --dport 80 -i eth0 -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
Можно вместо DROP использовать TARPIT, чтобы усложнить жизнь ломателям &lt;br /&gt;
Для второго варианта надо добавить в конфиг:&lt;br /&gt;
&lt;br /&gt;
 location /401.html {&lt;br /&gt;
  root   /usr/nginx;&lt;br /&gt;
  access_log   /usr/nginx/logs/denied.log  error401;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Формат error401, у меня например такой:&lt;br /&gt;
&lt;br /&gt;
 log_format error401  '$remote_addr - $remote_user [$time_local] '&lt;br /&gt;
  '$status &amp;quot;$request&amp;quot;';&lt;br /&gt;
&lt;br /&gt;
[http://linux.nedze.com/nginx-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B0-%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0/ статья тут]&lt;/div&gt;</summary>
		<author><name>imported&gt;Vix</name></author>
	</entry>
</feed>