Portál AbcLinuxu, 26. října 2025 22:39
VirtualHost ${APACHE_INTERNAL_IP}:80
ServerName server.mojedomena.local
ServerAlias server.mojedomena.local
ServerAdmin webmaster@mojedomena.local
DocumentRoot /var/www/
ErrorLog /var/log/apache2/error_server.mojedomena.local.log
CustomLog /var/log/apache2/access_server.mojedomena.local.log combined
Options -Indexes
/VirtualHost
kde ${APACHE_INTERNAL_IP} je lokalni ip 10.0.10.1.
jeste vypis z DNS:
nslookup server.mojedomena.local Server: 10.0.10.1 Address: 10.0.10.1#53 Name: server.mojedomena.local Address: 10.0.10.1..ten je ok. Kdyz na lokalni siti zadam IP
10.0.10.1, zobrazi se web, ale kdyz zadam http://server.mojedomena.local, zobrazi se chyba 404 Not Found
Jakto?
wget server.mojedomena.local --2010-05-06 08:09:09-- http://server.mojedomena.local/ Překládám server.mojedomena.local… 10.0.10.1 Navazuje se spojení s server.mojedomena.local|10.0.10.1|:80… spojeno. HTTP požadavek odeslán, program čeká na odpověď… 404 Not Found 2010-05-06 08:09:09 CHYBA 404: Not Found.Jmeno se na IP prelozilo, ale opet chyba
wget 10.0.10.1 --2010-05-06 08:11:03-- http://10.0.10.1/ Navazuje se spojení s 10.0.10.1:80… spojeno. HTTP požadavek odeslán, program čeká na odpověď… 200 OK Délka: 5653 (5,5K) [text/html] Ukládám do: „index.html“. 100%[======================================>] 5 653 --.-K/s za 0s 2010-05-06 08:11:03 (115 MB/s) – „index.html“ uloženo [5653/5653]Ten Virtualhost mam na prvnim miste sites-enabled ... takze zadani IP by melo sahat na nej, to se i deje. Logy mlci, zadny error.
/etc/apache2/sites_enabled
Stejné ServerName a ServerAlias jsou zbytečné - ServerAlias můžeš klidně vypustit
To mam vyhodit servername a serveralias a nahradit to namevirtualhost?Ne, viz dokumentaci Apache. ServerName udává jméno toho virtualhostu (tj. doménové jméno, které ten virtualhost obsluhuje) ServerAlias udává další jména, která ten virtualhost má taky obsluhovat. Je tedy zbytečné mít tam ServerName a ServerAlias se stejnými hodnotami. (Nejsem si nicméně jist, jestli to má vliv na funkci) Význam NameVirtualHost si dohledej v dokumentaci - http://httpd.apache.org/docs/2.0/mod/core.html#namevirtualhost - pokud na jedné IP běží víc různých domén, je potřeba to někde zapnout (typicky v /etc/apache2/ports.conf)
wget server.mojedomena.local --2010-05-06 09:28:04-- http://server.mojedomena.local/ Překládám server.mojedomena.local… 10.0.10.1 Navazuje se spojení s server.mojedomena.local|10.0.10.1|:80… spojeno. HTTP požadavek odeslán, program čeká na odpověď… 200 OK Délka: 5653 (5,5K) [text/html] Ukládám do: „index.html“ 100%[======================================>] 5 653 --.-K/s za 0s 2010-05-06 09:28:04 (15,8 MB/s) – „index.html“ uloženo [5653/5653]A zajimave, ze primo na serveru to nejde.
/etc/hosts na co se vám server.mojedomena.local překládá (častý problém bývá 127.0.0.2) na což apache pochopitelně neslyší.
Předpokládám, že pro všechny virtual hosty (včetně toho default) máte samostatné logy.
* Dostane se váš request na ten správný virtual server (=do toho správného logu)?
* Co v tom logu je (=proč je request odmítnut)?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.