lighttpd 居然出新版支援 HTTP/2 與 Brotli 了...

從 mailing list 收到 lighttpd 出新版的通知信,本來以為是 security fix,結果看了一下發現雖然版號是從 1.4.55 變到 1.4.56,但這個版本支援了 HTTP/2,以及 Brotli 壓縮:「Release-1 4 56 - Lighttpd - lighty labs」。 lighttpd 應該是我還在學校的時候幫 PIXNET 用的東西?他跑 FastCGI 模式接 PHP 當時效能還不錯... 現在自己架站的習慣是用 nginx 了。 反倒是他當年因為要更方便的支援 FastCGI 而生的 spawn-fcgi 讓 nginx 與其他專案沿用,後來是各家專案自己都原生支援 FastCGI 或是其他協定,所以重要性就淡了一些... 這次的更新推出的 HTTP/2 算是補上蠻重要的功能,不知道會對 lighttpd 社群帶來什麼能量...

lighttpd 1.4.25rc1

lighttpd 的 dev team 好像抓到重點了,與其發展 1.5,不如先從改善 1.4 開始吸引更多人使用 lighttpd,而且要儘量「release early, release often」,以其拉近與 nginx 的差距,並且吸引更多人參與,累積能量:「PRE-RELEASE: lighttpd 1.4.25rc1-r2692」。 這次的重點還是 bugfix,外加兩個小功能。

lighttpd 1.4.20

lighttpd 居然放出 1.4.20 了:1.4.20 - Otherwise the terrorists win。 除了從 trunk 把處理 FastCGI 的程式碼 merge 回 1.4 branch (merge spawn-fcgi changes from trunk (from @2191)),幾乎都是 security fix 與 bug fix。 由於 security fix 的部份每一家都會在 lighttpd 官方釋出 patch 時自己先 patch 進 package system 裡的版本,再加上這次有改到 FastCGI 的部份... 如果現有的 FastCGI production 環境跑得很好,建議先維持在原版本,觀望 mailing list 上的情況。

用 lighttpd 配 Squid 時的地雷

測試時遇到的地雷,寫下來讓以後的自己搜尋到... (愚蠢的 bug 總是會一而再再而三的犯下 XD) 因為 lighttpd 已經用的蠻久了,所以都會有一份制式的 lighttpd.conf (精簡到「會動」而已) 拿來用,今天拿這個版本丟檔案的時候想用 Squid 當 reverse proxy 放在前面,結果發現永遠都是 TCP_MISS,看 HTTP Header 後發現 lighttpd 沒送 Last-Modified 欄位,應該是這樣造成 Squid 不會存下來。 lighttpd 不送 Last-Modified 的原因後來查出是因為沒有指定 MIME Type。這是一個 feature,而不是 bug (所以不會修正),所以我除了把線上得版本加上以外,在公版的 lighttpd.conf 裡也把 mimetype.assign 加上,這樣就正常了。 繼續觀察看看到底可以省多少 :p

lighttpd 1.4.18 安全性更新

官方網站上釋出 lighttpd 1.4.18,屬於安全性更新,依照列出來的修正部份,看起來是這條: fixed FastCGI header overrun in mod_fastcgi (reported by mattias@secweb.se) 詳細的說明在 Lighttpd FastCGI Remote Vulnerability 這裡有提到。 FreeBSD 上使用 ports 的使用者只要先把 ports tree 更新,看一下 /usr/ports/www/lighttpd 下的 Makefile 更新成 1.4.18 了沒,如果還沒的話,將 distfiles 砍掉,並把 Makefile 裡的 1.4.17 改成 1.4.18 後手動更新: # make fetch # make makesum # make deinstall # make clean install clean 然後將 lighttpd … Continue reading "lighttpd 1.4.18 安全性更新"

Lighttpd 1.4.16 的 404 Handler 行為改變

Update:我在 Mailing List 上面問 (404 handler 這個 thread),解法是 mod_magnet,裡面有類似的範例 Complex rewrites 可以抄。 昨天換上 Lighttpd 1.4.16 後用瀏覽器看起來沒問題後就沒管他了 (參考 Lighttpd 1.4.16 這篇),結果 IRC 上就被問到是不是有改到什麼設定,仔細檢查後發現是因為 404 Handler 的行為改變了。 會發現是因為在 awstats 上發現流量掉很多,檢查以後發現所有正常的流量都記入 404,於是 awstats 就認為這不屬於正常流量 blah blah blah... 其實網站本身還是沒什麼問題啦,不過這樣總是不太好 (不只是 log 裡是 404,包括 HTTP Header 也是 404),來找看看有沒有解...

lighttpd 1.5 準備

可以看到 lighttpd 1.5 準備釋出的消息了:PRE-RELEASE: lighttpd-1.5.0-r1811.tar.gz。 除了之前的那些外,又多加上了 Upload Progress 的支援 (一般都是用 Language support,像是 PHP 提供的 pecl-uploadprogress 或是 APC,但 lighttpd 打算直接在 Web Server 支援),要玩看看的人可以在 /dev/null 這頁測試。