< HomePage | Снимки
<- Петък, 18 Януари 2008 | Начална страница | Неделя, 20 Януари 2008 ->
Събота, 19 Януари 2008

От както съм започнал да пускам уеб сайтове първото нещо, което правя е да пускам отделен сървър само за статично съдържание. Какво да се прави разглезен съм, винаги съм хоствал сайтове на машини, на които съм имал пълен достъп и това да си хостна сайът на място, където не мога да пипам по софтуера, вероятно никога няма да се случи.

Отплеснах се.

Говорех за сървърите за статично съдържание, като от тях най-много съм ползвал Boa (с малко Boa patches) и веднъж се пробвах с thttpd, което любезно беше пачнато от maniax (върни стария изглед на блога бре!), но не ме изкефи.

Напоследък гледам набира сила lighttpd. Това чудо освен, че е с изключително противно име, което дълго време смятах, че е liBghttpd, е известно с това, че се ползва от youtube и някои други големи сайтове. Всъщност нямах намерение да сменям Boa-та, само че заради липсата на няколко функционалности в нея се наложи. Трябваха ми access control списъци, евентуално нещо подобно на mod_rewrite, а пък всяка допълнителна екстра щеше да е добре дошла.

Enter libghttpd (колко го мразя това име, като му викате Lighty на сървъра поне го кръстете така официално, дейба тия хакерски простотии от сорта на GNU и подобни, много сте забавни няма що!). Сървъра е бърз, поддържа една камара екстри и като се изключат няколко дребни бъга и липсата на per-vhost error logs, работи добре.

Всъщност го ползвам само защото ми писна разни досадници да ми линкват картинките, които вадя на всеки 10-15 секунди от излъчваните в iptv телевизии. За да се отървете с Lighty от подобни навлеци, можете да ползвате следните няколко тествани *реда*:

$HTTP["host"] == "i.iptv.bg" {
    $HTTP["referer"] !~ "^($|http://(iptv\.bg|test\.iptv\.bg)/)" {
        $HTTP["url"] =~ "snaps/" {
            url.access-deny = (".jpg")
        }
    }
}

Имайте предвид, че ако проверявате първо в url и след това referer, нещото *не работи*.

Същото като горното, само че реализирано в Apache, но без mod_rewrite изглежда по следния начин:

<Directory "/srv/www/iptv.bg/pics/snaps">
    <Files ~ "\.jpg$">
        SetEnvIf Referer "^($|http://(iptv\.bg|test\.iptv\.bg)/)" allow_link
        Order allow,deny
        Allow from env=allow_link
        Deny from all
    </Files>
</Directory>

[ Коментари: 2 ]
Коментари

Остави го Lighty, друго си е руската школа: http://nginx.net/ е това си е за статики. Напоследък гледам, че и кеш базиран на него има: http://code.google.com/p/ncache/, няма нужда даже от Squid или Varnish. И не само за статика, а и като reverse proxy също е много добро.

Написа Стоян Жеков (www) на 23-Jan-2008 00:45


nginx е известен като сървъра на който се хостват най-много троянци :-) Но да, чел съм че е много, много добър.

Написа Георги Чорбаджийски (www) на 23-Jan-2008 01:43