Tommy 碎碎念

Tommy Wu's blog

讓 Nginx 的 real_ip 模組找不到對應的 header 時, 使用 proxy protocol 傳入的 IP
post by tommy @ 24 三月, 2023 10:08

最近把 DNS 轉到 Cloudflare 使用, 原本在主機上使用 HAProxy 把 SSL 的封包轉到個別對應的軟體是使用 Proxy Protocol 將來源 IP 通知處理的軟體. 在改用 Cloudflare 之後, 這個 IP 就變成 Cloudflare 的 IP 了. 這個在需要知道來源 IP 的軟體上, 就反而造成問題. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Let's Encrypt
post by tommy @ 25 五月, 2016 22:06

以往 SSL 憑證都要花錢買, 當然... 也可以自己用 openssl 來產生, 不過.... 自己做的 rootca 並不會被其他人承認, 常常要自己匯入後才能正常使用. 不過... 這情形在 Let's Encrypt 出現後, 大家都可以申請免費的 SSL 憑證了, 雖然期限只有三個月, 不過.... 只要到期前記得去 renew 就可以一直用下去. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
奇怪的 nginx segfault 錯誤
post by tommy @ 12 二月, 2012 10:17

這幾個星期發現家裡的 nginx 在隔約 2 小時左右 (間隔不一定, 有時很久沒出現, 有時連續出現, 不過多數看起來是隔兩小時出現一次), 就會出現一次 segfault, 雖然只是其中一個 worker, 也會被重新執行, 並不會影響到實際的 web server 運作, 不過.. 在 log 裡常常看到這個錯誤也很奇怪. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Nginx 對於 PHP 的錯誤轉向處理, fastcgi_intercept_errors 修正
post by tommy @ 19 十二月, 2011 17:54

在一般靜態網頁的處理上頭, nginx 可以正常的顯示一些錯誤的訊息 (如 404 File not found 之類的訊息). 不過對於 PHP (其他用 fastcgi 方式跑的程式也一樣), 預設來說, 如果有什麼錯誤, 往往就看到空白的一個網頁. 而一般的 nginx 教學上頭, 對於這個問題的處理建議就是 fastcgi_intercept_errors on 的設定. 但... 這個方式並不是完美的. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Gallery 3 在 Nginx 下的安裝與設定
post by tommy @ 15 十二月, 2011 10:00

由於 Gallery 3 大幅的簡化, 所以在安裝使用上, 並不像 Gallery 2 一樣有那麼多的 rewrite 要處理, 相對來說是簡單許多. 原則上只要 nginix 底下的 php 設定是正確的, 而且可以正確使用 PATH_INFO 就可以運作了. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Gallery Remote 在使用 nginx 時無法登入的問題
post by tommy @ 14 十二月, 2011 10:14

這幾天在測試 Gallery3, 測試 Gallery Remote 時, 發現原本裝的 Gallery2 在使用 Gallery Remote 時也無法正常登入. 登入時會出現這個錯誤訊息:

這錯誤在 Gallery Remote 的 FAQ 裡頭就有, 應該是一開始執行是會去使用 gallery_remote2.php, 如果不存在, 才會轉用別的 URL, 而在 Gallery2 的時候, 是沒有 gallery_remote2.php 的, 正常來說, 這個存取會回傳 404 not found 的錯誤, 不過... 由於我的 nginx 有對 404 做轉向的處理, 結果... 會造成實際收到的是 302 的轉向回應, 所以... 接下去就動作就不正常了.

原本希望保留我在 nginx 下的轉向設定, 只針對 gallery_remote2.php 回應 404 就可以. 不過... 試了一下, 發現似乎不能這樣子處理, 因為只要有轉向的設定, 不過是透過 php 去回應 404, 或在 nginx 對該 URL 回應 404, 都還是會去做轉向的動作.

最後... 只好在使用 Gallery2 的這個 virtual host 中不去對 404 做轉向處理, 改成回應 404 的錯誤. 如:

error_page 404 /internal_error_404_page.html;
location /internal_error_404_page.html {
internal;
}

這樣子改之後, 就可以正常登入了.

Del.icio.us Furl HEMiDEMi Technorati MyShare
Nginx 的 userdir 設定
post by tommy @ 03 十二月, 2011 12:08

Nginx 本身沒有支援 Userdir 的模組, 不過, 可以很容易的用 location 的方式來設定. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Lifetype 在 nginx 的 rewrite 處理
post by tommy @ 03 十二月, 2011 11:56

Lifetype 同樣只提供 Apache 的 rewrite 處理, 所以... 我們一樣需要轉換為 nginx 的方式. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Gallery2 在 nginx 底下的 rewrite 處理
post by tommy @ 02 十二月, 2011 16:51

由於 Gallery2 只有提供 Apache 的 rewrite 設定, 所以當轉換到 nginx 使用的時候, 就要想辦法自己來改寫. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Nginx/FastCGI/PHP-FPM 相關設定
post by tommy @ 02 十二月, 2011 16:48

上個月中開始, 逐步將家裡機器裡頭的 Apache/mod_php 改成 Nginx/FastCGI/PHP-FPM 來運作. 經過了近兩個星期的嚐試, 目前看起來應該是可以完整的取代了. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Bad Behavior 已經阻擋了 45 個過去 7 天試圖闖關的垃圾迴響與引用。
Power by LifeType. Template design by JamesHuang. Valid XHTML and CSS