Bug 11584

Summary: Перезапуск httpd через web интерфейс редиректит на другой порт
Product: Sisyphus Reporter: Anton Farygin <rider>
Component: httpd-alteratorAssignee: inger <inger>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: ldv
Version: unstable   
Hardware: all   
OS: Linux   

Description Anton Farygin 2007-04-20 13:16:52 MSD
При перезапуске сервера через web интерфейс идёт редирект на порт 10 вместо 8080

httpd-alterator-2.2.4-alt26
Comment 1 Anton Farygin 2007-04-20 13:20:05 MSD
Это происходит в том случае, если:
# fgrep Listen /etc/httpd2/conf/httpd2.alterator.conf 
Listen 10.2.0.1:8080

Вот такой патчик решает проблему, но не окончательно:
--- reloader.scm.orig   2007-04-19 16:33:13 +0400
+++ reloader.scm        2007-04-20 13:19:07 +0400
@@ -4,7 +4,7 @@
 
 read_listen()
 {
-       sed -nr '/^Listen[[:space:]]/ {s,Listen[[:space:]]*,,;p}' "$HTTPDCONF"
+       sed -nr '/^Listen[[:space:]]/ {s,Listen[[:space:]]*(.*:)?,,;p}' "$HTTPDCONF"
 }
 
 new_url()
Comment 2 Anton Farygin 2007-04-20 13:21:36 MSD
Для нормального решения проблемы адрес редиркета должен передаваться в GET для
reloader.scm
Comment 3 inger@altlinux.org 2007-04-23 10:00:21 MSD
OK, улучшу считывание - наплодили форматов ;)
Comment 4 inger@altlinux.org 2007-04-23 10:01:39 MSD
А зачем передавать адрес, это ж идёт GET к клиенту который и так имеет доступ к
интерфейсу.
Comment 5 Anton Farygin 2007-04-23 13:48:21 MSD
ну значит reloader должен делать редирект не на тот порт, который прописан в
конфиге, а на тот адрес, с которого его открывали.

Вообще это всё вылезает тогда, когда пытаешься сделать Listen на нескольких
интерфейсах
Comment 6 inger@altlinux.org 2007-04-24 16:14:36 MSD
Подумал я тут над этим предложением ... по хорошему чтобы сделать эту фишку
правильно по всем статьям - надо и интерфейс менять. Ведь этих директив Listen
может быть сколь угодно много.
Comment 7 inger@altlinux.org 2008-03-14 15:07:41 MSK
в ahttpd редирект идёт правильно и listen записывается в ином формате.
Органичения типа "listen on one interface only" есть отдельным параметром.