Re: Problémy s Apache

Jan Houstek Jan na houstek.net
Neděle Březen 16 19:38:40 CET 2008


On Sat, 15 Mar 2008, Tomáš Koželuh wrote:
> Ahoj, potřeboval bych poradit s Apachem, nejsem schopen ho správně
> nakonfigurovat, už s tím bojuju několik dní. Problém je následující,
> potřebuju rozdělit tři virtuální hosty, aby je Apache obsluhoval jenom z
> některé IP adresy. Problém je, že mně to nechce fungovat v kombinaci s SSL,
> navíc na SSL je zoufale málo konfiguračních ukázek a návodů a bohužel od
> normálního přístupu se liší, jak jsem zjistil. Takže bych potřeboval
> poradit, co napsat do jednotlivých položek Listen, NameVirtualHost,
> VirtualHost a případně ServerName. Když už to vypadá, že všechno je OK, tak
> zjistím, že SSL se snaží obsluhovat osmdesátku port (pak to háže 400 Bad
> Request). Pro jistotu dávám příklad, jak to třeba nefunguje:
>
> 00_default_ssl_vhost.conf:
>
> Listen 443
> NameVirtualHost 1.2.3.4
> NameVirtualHost 5.6.7.8
> NameVirtualHost 9.10.11.12

Lepší to zadat i s číslem portu (NameVirtualHost IP:port), z dokumentace 
není jasné, jaký port se použije defaultně (možná poslední z Listen), ale 
na portu 0 hádám server provozovat nechcete (viz záznam z logu
"NameVirtualHost 1.2.3.4:0 has no VirtualHosts")

> <VirtualHost 1.2.3.4 5.6.7.8 9.10.11.12>
> ServerName domena.jedna
> ...
> </VirtualHost>
> <VirtualHost 5.6.7.8 9.10.11.12>
> ServerName domena.dve
> ...
> </VirtualHost>

Opět lépe <VirtualHost IP:port IP:port ...>, dle dokumentace se jinak 
použije poslední port uvedený v Listen.

> Když je to nastavený takto, tak se mně prostě nezobrazí normální http na
> portu 80, navíc to háže tuto chybu: [warn] NameVirtualHost 1.2.3.4:0 has no
> VirtualHosts. Ale zkoušel jsem i jiný kombinace, kdy to žádnou chybu nepíše,
> ale stejně to nefunguje správně (buď nejede vůbec SSL, nebo nejede http nebo
> to zobrazuje špatný stránky a podobně)

Pozor na SSL, všechny name-based virtual hosty sdílející IP a port musí 
mít nakonfigurovaný stejný klíč a certifikát. Při pokusu nakonfigurovat je 
různě se apache chová (zkoušeno jen v 2.0) dost zmateně. Důvod je zřejmý, 
SSL přijde na řadu dřív než Host: v http protokolu, server tedy musí 
certifikát vybrat dřív než může vědět, který virtual host se použije. 
Opačne by to šlo leda s TLS.

-- HH


Další informace o konferenci Linux