Podivné chování apache name-based virutalhostů
Jan Houstek
jan.houstek na mff.cuni.cz
Pondělí Květen 2 09:21:48 CEST 2005
On Mon, 2 May 2005, Matus UHLAR - fantomas wrote:
> > 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
Jasne, tak je to i rozumne. Jde o to, ze tam muze byt IP adresa i jmeno.
Kdy se jmeno preklada nema na popsany problem vliv.
> > Pokud takovy neexistuje, pouzije se main virtualhost.
>
> pokial nemate definovany <VirtualHost _default_>
Nikoliv. VirtualHost _default_ se pro IP adresu, ktera vyhovi nejake
NameVirtualHost direktive, nikdy nepouzije. Pouzije se pro adresy, na
kterych neni zapnuty name-based virtualhosting a ktere nevyhovi zadne jine
sekci <VirtualHost>
> 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.
Jo, to je presne ono. Proste se to chova tak, jako kdybyste pod kazdy
radek <VirtualHost addr> prisal jeste "ServerAlias addr". No nic, vyresil
jsem to tim workaroundem popsanym v minulem mailu, udelam si v /etc/hosts
na jednotlive adresy nejaka symbolicka jmena, ktera nehodlam pouzivat v
Host:, napr.
1.2.3.4 virtualhost1
5.6.8.9 virtualhost2
a pak v konfiguraci apache v direktivach <VirtualHost >, NameVirtualHost a
Listen pouzivam jen tato jmena.
-- Honza Houstek
Další informace o konferenci Linux