Назад | Перейти на главную страницу

Насколько дорого стоит имя хоста в htaccess? Возможны другие решения?

Для упрощения разрешения или запрета динамических IP-адресов вы можете добавить их в качестве имени хоста в файл .htaccess.

Как я прочитал: .htaccess разрешить от имени хоста?

он выполняет обратный поиск по подключенному IP-адресу, проверяя, соответствует ли ответ разрешенному имени.

(Ну, на самом деле Apache выполняет двойной поиск, сначала обратный поиск, а затем прямой поиск результата обратного.)

По этой причине мы в настоящее время не используем имена хостов с динамическим IP в .htaccess: это "звучит" довольно тяжело: 2 дополнительных поиска для каждого запроса.

Использование самого .htaccess снижает производительность. Когда AllowOverrides включен любым способом в глобальной конфигурации Apache, httpd должен искать файл .htaccess на каждом уровне каталога URI при каждом запросе, на случай, если там есть что-то, что ему нужно прочитать. Это приводит к большому количеству дополнительных вызовов lstat (), которые увеличивают задержку и увеличивают объем работы, которую должен выполнять сервер. Может быть, вы застряли с .htaccess из-за настройки общего хостинга, но тогда вы все равно не сможете получить "высокую производительность" ...;)

Если оставить в стороне тот факт, что DNS - не лучший показатель, какова ваша цель в запрете «динамических» IP-адресов? Это было бы чем-то более подходящим для брандмауэра приложений - чего-то, что находится перед вашим сервером (-ами) Apache, выполняющим проверку IP, возможно, проверяя черный список, возможно, используя локальный преобразователь DNS.

Проблема с именами хостов заключается в том, что серверный процесс зависает при выполнении поиска DNS, поэтому чем он медленнее, тем сильнее влияет на сервер. Если вы не видите проблем с большим количеством дочерних элементов apache в памяти, это не будет иметь большого значения (в крайних, но маловероятных случаях очень медленного поиска у вас может даже закончиться число MaxClients), но если вы ограничены, рассмотрите возможность использования скрипта для обновления IP-адресов в .htaccess это или что-то в этом роде.