Bug 11652

Summary: Ошибка в разборе связей IP - DNS-имя
Product: Sisyphus Reporter: serpiph <serpiph>
Component: apache2Assignee: Anton Farygin <rider>
Status: CLOSED WORKSFORME QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: rider, vvk
Version: unstable   
Hardware: all   
OS: Linux   

Description serpiph 2007-04-29 15:36:03 MSD
Apache2 при разборе конфигурационного файла неправильно обрабатывает ситуацию,
когда одному IP-адресу соответствует несколько имён.

В конфигурационном файле apache2 у меня написано:
<Location /stat/>
Order Allow, Deny
Allow from localhost
</Directory>

Если в /etc/hosts написано:

127.0.0.1 localhost.localdomain localhost

То при обращении из браузера к http://localhost/stat/
Получал ошибку 403.

Если в /etc/hosts написано:
127.0.0.1 localhost localhost.localdomain

То по тому же адресу сервер начинал пускать. Похоже, происходит следующее: при
разоре конфигурационного файла apache2 видит localhost, он его преобразует в IP
(127.0.0.1), а затем проверяет исходное имя, делая обратный resolve. Но по
обратному resolve возвращается сразу же 2 имени. И apache2 проверяет только
первое из них, отбрасывая второе. И в первом случае натыкается на другое имя
(localhost.localdomain), после чего считает неправильным строку с 'Allow from',
в результате полностью закрывая доступ.
Comment 1 serpiph 2007-04-29 15:37:26 MSD
Извиняюсь, конечно же

<Location /stat/>
Order Allow, Deny
Allow from localhost
</Location>
Comment 2 solo 2007-04-29 17:19:34 MSD
Пока не знаю... Буду смотреть код.
Comment 3 Anton Farygin 2018-11-01 09:49:06 MSK
Не смог воспроизвести, переоткройте если станет актуально