Portál AbcLinuxu, 13. května 2025 20:03

Dotaz: Apache - problém se získání prostředku podle URL

20.1.2008 22:57 Cubik
Apache - problém se získání prostředku podle URL
Přečteno: 479×
Odpovědět | Admin
Dobrý den,

vyskytl se mi takový zvláštní problém, ve skutečnosti jej neumím ani přesně popsat a zeptat se Googlu, tak prosím o popostrčení správným směrem.

Mám nainstalovaný Apache na CentOS 5, v Apachi jednoho name-based virtualhosta, který de facto vyřizuje všechny požadavky z Internetu. Problém spočívá v tom, že pokud v prohlížeči zadám URL ve tvaru http://jmenoserveru.cz/cestakobrazku/obrazek.gif, obrázek se nenačte, místo toho prohlížeč jakoby "ztuhne" (testováno na IE7, FF2, Opera 9 a wget). Přitom pokud vytvořím SSH tunel a připojím se přes SSH port-forwarding (http://localhost:8080/docrootvhosta/cestakobrazku/obrazek.gif), vše proběhne bez problémů. Zkoušel jsem z testovacích důvodů toho virtuálního hostitele vypnout, nasměrovat docroot hlavního serveru na původní document root toho virtuálního hosta, ovšem bez úspěchu.

Přikládám výpis z logu Apache v případě, že požadavek proběhne úspěšně (tzn. přes port forwarding):
[20/Jan/2008:21:38:22 +0100] "GET /clan/templates/waldmeister/images/header.gif HTTP/1.1" 200 37437 "-" "Mozilla/5.0
(Windows; U; Windows NT 5.1; cs; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11"
a takhle vypadá záznam z logu při operaci, jejímž výsledkem je zmiňovaná chyba:
[20/Jan/2008:21:36:49 +0100] "GET /templates/waldmeister/images/header.gif HTTP/1.1" 200 37437
tzn. pokud tomu dobře rozumím, v obou případech Apache požadavek vyřídí naprosto stejně, i velikost odpovědi je stejná(se stavovým kódem "OK". Takže nemám nejmenší tušení, kde je chyba. Na požádání vložím jakoukoli část konfiguračního souboru, nedokážu posoudit, která jeho část je pro řešení problému relevantní... Ještě mě napadá, že tahle chyba se vyskytuje pouze pro některé obrázky, ale není závislá na jejich umístění v adresářové struktuře webu, ani na typu obrázku.

Díky mockrát všem, jakýkoli nápad přivítám.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

21.1.2008 10:07 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Apache - problém se získání prostředku podle URL
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkuste se z toho testovacího počítače připojit telnetem a zadat
GET /templates/waldmeister/images/header.gif HTTP/1.1
Host: hostname
<Enter>
<Enter>
případně sledujte komunikaci přes tcpdump nebo něco podobného. Uvidíte, zda server neposílá nějaké přesměrování, zda uzavře spojení atd.

Pokud vám funguje připojení z lokálnío počítače, ale ne z jiného, mohl by to být problm firewallu – pak by se ale v logu Apache neobjevilo nic, protože by se vůbec nenavázalo spojení (pokud by tedy firewall nebyl nastaven tak podivně, že by dovolil navázat spojení, ale dál už nic).
21.1.2008 11:46 Cubik
Rozbalit Rozbalit vše Re: Apache - problém se získání prostředku podle URL
Díky za odpověď, nakonec pomohla direktiva Enable SendFile off, jak mi poradil kolega:-) Jsem z toho značně zmaten a jdu koukat do dokumentace, proč pomohlo zrovna tohle.
21.1.2008 11:52 Cubik
Rozbalit Rozbalit vše Re: Apache - problém se získání prostředku podle URL
Aha, ono je to v dokumentaci direktivy popsaný docela hezky, pochopil jsem z toho, že se v tom nemám vrtat, že na některejch platformách je to prostě bug a hotovo... Každopádně mě to tedy vydusilo slušně a už jsem pomalu propadal nihilu.

P.S. Kde tady můžu zaškrtnout, že problém byl vyřešen?:-)
21.1.2008 11:00 JirkaV
Rozbalit Rozbalit vše Re: Apache - problém se získání prostředku podle URL
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj,

jenom pro otestovani - nez zacnes laborovat s necim jinym, vyzkousej v konfiguraci Apache nastavit tohle:

EnableMMAP Off EnableSendFile Off

Mel jsem podobny problem, timhle se vyresil. Pokud by to bylo ono, uz si odladis ktery z danych prikazu na tvem konkretnim stroji ten problem resi...

Jirka Vejrazka
21.1.2008 11:01 JirkaV
Rozbalit Rozbalit vše Re: Apache - problém se získání prostředku podle URL
Samozrejme takhle :( EnableMMAP Off EnableSendFile Off

Vice viz http://httpd.apache.org/docs/2.2/mod/core.html
21.1.2008 11:02 JirkaV
Rozbalit Rozbalit vše Re: Apache - problém se získání prostředku podle URL
Pardon, evidentne se nekamaradim s mistnim formularem. Tak treti pokus :(
EnableMMAP Off
EnableSendFile Off
21.1.2008 11:44 Cubik
Rozbalit Rozbalit vše Re: Apache - problém se získání prostředku podle URL
Díky mockrát, EnableSendfile off skutečně zabralo, ale fakt by mě nenapadlo, že tady může být problém. Jdu kouknout do dokumentace, jestli najdu důvod, proč tahle direktiva indiánovi tak strašně vadila...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.