Привет,
alr> Так вот, здесь-то баг и закопался. Ибо в моем случае:
Это не баг, это feature.
alr> CHARSET_SERVER_NAME woozle.rinet.ru:9090
alr> CHARSET_SERVER_PORT 9090
alr> HTTP_HOST stats.hole.ru:9090
alr> SERVER_NAME stats.hole.ru
alr> SERVER_PORT 9090
alr> url был stats.hole.ru:9090/...
alr> Как легко видеть, используется неправильное имя.
Оно не неправильное. Оно другое :).
В SERVER_NAME кладется или r->hostname (полученное в заголовке Host: от
клиента) или (если r->hostname == NULL), то r->server->server_name.
В CHARSET_SERVER_NAME кладется всегда (!) r->server->server_name
т.е. то, что используется при определении клиентской кодировки по VirtualHost.
А r->server->server_name получается всякими разными путями при стартапе
сервера, в число этих способов входит и gethostbyaddr(). Использовать же нечто,
полученное от клиента в Host: не всегда хочется.
Если результаты gethostbyaddr() тебя не удовлетворяют, то стоит почитать родную
апачную доку про VirtualHosts и (возможно) использовать NameVirtualHost.
С уважением,Alex Tutubalin
--- GoldED 2.42.G1114+
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.