Apache、Nginx 的 Web Log 一般常見會想要分析來源IP、讀取網址、200、404 的比例(與 Google Analytics 重複的就先不列了,Ex: Unique Visitior...) 等等...可以使用 GoAccess 來快速分析。
標籤: nginx
Nginx 擋掉某個 IP 或 網段
Nginx 想要擋掉某個 IP,作法如下:(下述為 Debian / Ubuntu Linux 的路徑)
- vim /etc/nginx/sites-enabled/blockips.conf # 輸入下述即可
deny 123.123.123.123; - sudo /etc/init.d/nginx restart
- 註1:這是 Global 都全部擋掉此 IP,想要分別於 VirtualHost 擋的話,再自行寫進去裡面即可
- 註2:blockips.conf 這個檔名可以隨便取
blockips.conf 裡面,若要擋掉 subnet,可見下述:
- deny 123.123.123.0/24;
只允許某個IP 或 網段:
- allow 1.2.3.4/24;
- deny all;
更多範例可參考下述:(取自:Module ngx_http_access_module)
location / { deny 192.168.1.1; allow 192.168.1.0/24; allow 10.1.1.0/16; allow 2001:0db8::/32; deny all; }
URL rewrite 的 + 與 %20 的問題
現在流行 Rewrite 讓網址美化,所以 Web server (Nginx、Apache...) 都會使用 rewrite module 來達成。
不過 Rewrite 常常會遇到各種符號的問題,例如下述:
上述在 Apache 的 mod_rewrite 會遇到的問題大概都解決了,但是現在遇到 Nginx + fastcgi 的模式,開始又有一些其它問題出現,如下範例:
- 標題: dvd player
- 網址自動轉換成: dvd+player
- 再到 PHP 端就用 dvd+player 去找,就找不到此篇文章
- 這問題要怎麼解決呢?
Nginx 的 SSL 設定檔範例
關於 SSL 的產生、建立、移除密碼... 等等,請見下述兩篇文章:
此篇假設已經將 SSL Key 產生完畢,在此只有 Nginx SSL 的設定檔範例。
Apache2 與 Nginx 移除 SSLv2、SSLv3 支援
SSL (v2、v3) 最近有些安全性問題產生, 建議 Web Server 和瀏覽器都不要支援 SSLv2 和 SSLv3, 那到底有何影響? 又該怎麼做呢?
Apache2、Nginx SSL 自動輸入密碼、移除 Key 密碼
Apache2、Nginx 設定完成 SSL 後, 每次重新啟動都會詢問 passphrase key 的密碼, 如何自動輸入, 或者將此移除呢?
Nginx Connection 不夠用 的參數調整
機器 Loading 是 "0.x", 但是連線總是會出現找不到資料, 重新、再試一次的訊息, 如下述:
HTTP request sent, awaiting response... No data received. Retrying.
直覺猜測就是 Connection、檔案數、TCP... 等滿了的問題, 於是作些調整.
註: netstat -ant | grep TIME_WAIT | wc -l # TIME_WAIT 數值應該很高
Nginx 自動優化前端頁面的模組 - ngx_pagespeed
Google 為 Apache 開發 mode_pagespeed 的 Module(更多說明可見此篇: Apache 自動優化前端頁面的模組 - mod_pagespeed), 使站長可以用最懶惰的方式讓網站速度變快.
註: mod_pagespeed 會幫忙做 JavaScript、CSS 壓縮,合併, 圖片的壓縮、Resize, HTML 移除空白 等等的事情.
淘寶將 Web Server Open Source - Tengine
淘寶網現在應該算是亞洲最大的 EC 網站, 每天幾十億的 PV, 為了要求穩定和容忍這麼大的量, 他們挑選的 Web Server 是 Nginx~
啟用 Nginx Status 的設定
要看 Apache Loading 的狀況, 可以看 Apache Status, 但是 Nginx server 的 loading / Status 要怎麼查看呢?
閱讀全文〈啟用 Nginx Status 的設定〉