Tag Archives: nginx

nginx 1.10.2

之前在「谈谈 Nginx 的 HTTP/2 POST Bug」這邊提到了 nginx 的一個 bug:「當 HTTP/2 的第一個 request 是 POST 時連線會失敗」的問題,這個問題在 mainline 版本的 1.11.0 解決了,但 stable 版一直沒有出新版 back-porting 回來。 而剛剛看到 1.10.2 將 http2_body_preread_size 從 mainline 版本弄回來解決了:「[nginx-announce] nginx-1.10.2」。 *) Change: HTTP/2 clients can now start sending request … Continue reading

Posted in Computer, Murmuring, Network, Security, Software, WWW | Tagged , , , , , , , , | Leave a comment

Nginx + FastCGI + Trac

先前試著逼自己用 Phabricator,用了一個多月後發現設計的邏輯還是跟 Trac 差了不少,算是為了 Facebook 特化的產品吧。在這一個月查資料的過程也發現當初 Wikimedia 要採用的時候也花了不少力氣送 patch 回官方,然後針對不少地方客製化調整。 另外比較痛的地方是 plugin 的支援能力還沒有很好,變成很多東西都要改主體... 而且效能也不太好 (不支援 PHP 7.0 還蠻痛的),在比較低階的 VPS 上跑特別明顯。 這幾天花了點時間把 Trac 給架起來,之前都是用 FreeBSD ports 架,但已經愈來愈沒有再接觸 FreeBSD 了,所以這次在 Ubuntu 上用 pyenv 裝起來再用 pip 裝起來。 另外一個跟之前不同的,是先前都用 Apache 接 mod_wsgi,在低階的 VPS 上則是要找省資源的方案,這次則是用 … Continue reading

Posted in Computer, Murmuring, Network, Software, WWW | Tagged , , , , , , , , , , , , , , , , , | 1 Comment

ondrej 的 nginx PPA 支援 SPDY + HTTP/2 了...

直接跑去問 ondrej 有沒有意願把 CloudFlare 提供的 patch 放進去,結果也很順利的就更新了:「nginx 1.11.1 (security release) and CloudFlare SPDY + HTTP2 patch」(先前標題還打錯... XDDD)。 所以現在在 nginx PPA 裡的版本同時支援 SPDY 與 HTTP/2 了,可以參考「SSL Server Test: blog.gslin.org (Powered by Qualys SSL Labs)」。 可以看到舊的行動平台都透過 SPDY 連上來了,速度應該會比之前順不少...

Posted in Computer, Murmuring, Network, Programming, Security, Software, WWW | Tagged , , , , , , , , , , , | Leave a comment

CloudFlare 提供的 SPDY + HTTP/2 patch 可以在 nginx 1.11 上面跑了...

SPDY 對行動裝置還是很重要,尤其是 Android 裝置在 5.0 之後才有支援 HTTP/2,但在 3.0 之後就有支援 SPDY,也就是超過一半的 Android 用戶只有 SPDY 但沒有 HTTP/2 能力: 查資料的時候發現當初 CloudFlare 提供的 SPDY + HTTP/2 patch 本來只能對 nginx 1.9.7 更新 (參考之前寫的「CloudFlare 放出可以同時支援 HTTP/2 與 SPDY 的 nginx patch」),後來有人再更新到 1.9.15,而在留言的地方也可以看到有人回報在 1.11.0 上面可以跑:「Update NGINX SPDY … Continue reading

Posted in Computer, Murmuring, Network, Security, Software, WWW | Tagged , , , , , , , , | Leave a comment

在 Ubuntu 14.04 上執行支援 ALPN 的 nginx

在「Migrate to Ubuntu 16.04」這邊看到換 16.04 的理由: 支援 http2 是升級到 Ubuntu 16.04 很大的動機。原因是前一版 14.04 裡 openssl 太舊,不支援 ALPN 協定,Chrome 瀏覽器又放棄了 NPN 的舊協定,詳細。你要嘛自己編譯 nginx ,要嘛就是升級到 16.04 才能解決。選哪個方法就看各公司的政策,升了 OS 問題就直接解決了。 不過 Ondřej Surý 包了一個有新版 openssl 的套件出來,所以在 12.04 或是 14.04 都可以使用 ALPN 版本的 nginx:「PPA … Continue reading

Posted in Computer, Murmuring, Network, Security, Software, WWW | Tagged , , , , , , , , , , | 2 Comments

Google Chrome 51 出版,SPDY 被拔掉,HTTP/2 只支援 ALPN

Google Chrome 剛剛出了 51 版:「Stable Channel Update」。 除了界面的改變外,對效能最主要的改變就是 SPDY 被拔掉,HTTP/2 的 NPN 支援也被拔掉:「Transitioning from SPDY to HTTP/2」: To better align with Chrome's release cycle, SPDY and NPN support will be removed with the release of Chrome 51. 又有一波 migrate 功夫要做了...

Posted in Browser, Computer, GoogleChrome, Murmuring, Network, Security, Software, WWW | Tagged , , , , , , , , , | Leave a comment

Dropbox 從 SPDY 切換到 HTTP/2 發現的現象

Dropbox 將本來的 SPDY 切換到 HTTP/2 後整理了不少資料:「Enabling HTTP/2 for Dropbox web services: experiences and observations」。 大多數都是效能的改善,但「Increased latency for POST requests.」這段頗有趣的,找出了 nginx 的 bug: POST 的 latency 大約增加了 50%,而實際追蹤問題發現是 nginx 中 SETTINGS_INITIAL_WINDOW_SIZE 預設值的問題,然後提出 patch 改善:「[nginx] HTTP/2: rewritten handling of request body.」: There … Continue reading

Posted in Computer, Murmuring, Network, Security, Software, WWW | Tagged , , , , , , , , , , | Leave a comment

CloudFlare 放出可以同時支援 HTTP/2 與 SPDY 的 nginx patch

CloudFlare 放出可以同時支援 HTTP/2 與 SPDY 的 nginx patch:「Open sourcing our NGINX HTTP/2 + SPDY code」。 不過 patch 的版本有點舊: We've extracted our changes and they are available as a patch here. This patch should build cleanly against NGINX 1.9.7. 如同原文下面 comment … Continue reading

Posted in CDN, Computer, Murmuring, Network, Programming, Security, Software, WWW | Tagged , , , , , , , , , , , , | Leave a comment

nginx 引入 Dynamic Module 架構

nginx 在 1.9.11 版引入了 Dynamic Module,能夠更方便的決定要掛哪些模組使用了:「Introducing Dynamic Modules in NGINX 1.9.11」。 從以往的: 多了一種選擇: 也因此多了 load_module 功能可以用: To load a module at runtime, include the new load_module directive in the main context, specifying the path to the shared object file for … Continue reading

Posted in Computer, Murmuring, Network, Software, WWW | Tagged , , | Leave a comment

Google 推出 nginx 上的 PageSpeed 模組

Google 推出了 nginx 上的 Page Speed 模組:「ngx_pagespeed」,想做的事情與 apache 上的 mod_pagespeed 相同,利用各種技術加速網頁的速度: Nginx module created by Google to help Make the Web Faster by rewriting web pages to reduce latency and bandwidth. It started as a port of mod_pagespeed to Nginx, … Continue reading

Posted in Computer, Murmuring, Network, Software, WWW | Tagged , , , , , | Leave a comment