Podivné chování apache name-based virutalhostů

Matus UHLAR - fantomas uhlar na fantomas.sk
Pondělí Květen 2 07:47:11 CEST 2005


Jan Houstek <jan.houstek na mff.cuni.cz> wrote:
> Pri hledani sekce <VirtualHost>, prijde-li pozadavek na IP/port, s
> nastavenym NameVirtualHost, bych ocekaval nasledujici postup (dle
> dokumentace):
> 
> U kazde sekce <VirtualHost addr:port> se porovna addr:port s pozadavkem.
> Je-li pritom addr DNS jmeno, proste se volanim gethostbyname() prelozi na
> IP adresu.

tento preklad sa robi afaik pri starte/rekonfiguracii, nie pri poziadavkach

> Pokud vyhovi, porovna se obsah HTTP hlavicky Host: z pozadavky s obsahem
> direktiv ServerName a pripadne ServerAlias, pokud je nalezena shoda,
> pouzije se tento virtualhost, jinak se pokracuje dal.
> 
> Pokud nevyhovi zadny, pouzije se prvni, ktery vyhovel addr:port.
> 
> Pokud takovy neexistuje, pouzije se main virtualhost.

pokial nemate definovany <VirtualHost _default_>

> Jenze jsme si vsimnul, ze krome ServerName a ServerAlias se zkouma i shoda
> Host: s retezcem addr (!) Coz je pomerne mrzute, protoze chcete-li mit pod
> timto jmenem (at uz to je IP adresa nebo jmeno) nakonfigurovaneho nejakeho
> virtualhosta, musite zajistit, aby byl v tom seznamu prvni, jinak se
> proste pouzije prvni virtualhost bez ohledu na to, ze dotazovane jmeno
> nema v ServerName ci ServerAlias.

no kurva, tak tu je pes zakopany?

> Podarilo se vam toto chovani reprodukovat i na jinych verzich ci
> distribucich? Je to feature nebo bug? Workaround je jednoduchy, staci
> v /etc/hosts prislusne IP adresy nadefinovat nejaka obskurni jmena a ta
> pak pouzivat v <VirtualHost > direktive.

kedysi davno sa mi to stalo s 1.3.26, snazil som sa to hlasit ako bug, ale
ten bol zavrety s tym, ze si to mam najprv vydiskutovat na apache-users.

Chcel som vytvorit nejaky defaultny virtual web, do ktoreho by spadli vsetky
poziadavky pre hosty ktore som v configu nemal.

Este stale to mam:

NameVirtualHost fantomas.fantomas.sk

<VirtualHost fantomas.fantomas.sk>
ServerName default.fantomas.sk
DocumentRoot /home/default
</VirtualHost>

<VirtualHost fantomas.fantomas.sk>
ServerName fantomas.fantomas.sk
DocumentRoot /var/www
</VirtualHost>

a request pre fantomas.fantomas.sk mi hodi stranku pre default.fantomas.sk
Mozno by sme to mali reportovat znovu.
-- 
Matus UHLAR - fantomas, uhlar na fantomas.sk ; http://www.fantomas.sk/
Warning: I wish NOT to receive e-mail advertising to this address.
Varovanie: na tuto adresu chcem NEDOSTAVAT akukolvek reklamnu postu.
Nothing is fool-proof to a talented fool. 


Další informace o konferenci Linux