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