第1課:介紹與安裝
Nginx 是什麼?事件驅動架構與非阻塞 I/O
Nginx 與 Apache 的比較
在 Linux(Ubuntu/CentOS)、macOS、Windows 上安裝 Nginx
目錄結構與基本設定檔
啟動、停止、重新載入 Nginx
第2課:基本設定
nginx.conf 設定檔語法
內容與指令(http、server、location)
虛擬主機設定(server blocks)
提供靜態檔案(HTML、CSS、JS、images)
index 檔案與 autoindex 設定
自訂錯誤頁面
第3課:日誌與監控
存取日誌與錯誤日誌
自訂日誌格式
使用 logrotate 進行日誌輪替
監控的基本指標
第4課:反向代理
反向代理概念
proxy_pass 基本設定
代理標頭(X-Real-IP、X-Forwarded-For)
上游伺服器與負載均衡
基本健康檢查
第5課:負載均衡
負載均衡演算法(round-robin、least_conn、ip_hash、hash)
upstream 區塊設定
備用伺服器與權重
黏性會話
主動健康檢查
第6課:快取
使用 expires 和 Cache-Control 標頭的瀏覽器快取
基本代理快取
FastCGI 快取
快取鍵與快取區域
快取清除與繞過
第7課:SSL/TLS 與 HTTPS
SSL 憑證設定(Let's Encrypt)
HTTP 轉 HTTPS 重新導向
SSL 通訊協定與加密套件
HSTS(HTTP Strict Transport Security)
OCSP Stapling
HTTP/2 設定
第8課:效能調校
工作行程與工作連線數
Keepalive 連線
緩衝區與逾時最佳化
Gzip 壓縮
Sendfile 與 tcp_nopush
開放檔案快取
第9課:資安設定
使用 limit_req 和 limit_conn 進行速率限制
使用 deny/allow 封鎖 IP
基本驗證
ModSecurity WAF 整合
基本 DDoS 防護
安全標頭(CSP、X-Frame-Options 等)
第10課:重寫與重新導向
使用正規表示式的重寫規則
return 與 rewrite 指令的差異
位置比對(exact、prefix、regex)
try_files 指令
條件式重新導向
第11課:Nginx 與應用程式堆疊
PHP-FPM 設定
Nginx + Node.js
Nginx + Python(uWSGI、Gunicorn)
Nginx + Docker 容器
WebSocket 代理
第12課:高可用性
Nginx Plus 功能(如適用)
主動-主動及主動-被動設定
故障轉移策略
HA 的 Keepalived
DNS 循環(round-robin)
第13課:微服務與 API 閘道
Nginx 作為 API 閘道
服務探索
熔斷器模式
JWT 驗證
每個用戶端的 API 速率限制
第14課:進階主題
Nginx 模組(新增第三方模組)
使用 OpenResty 的 Lua 腳本
Nginx 串流(RTMP 模組)
GeoIP 過濾
自訂錯誤處理
使用 Nginx 進行 A/B 測試
第15課:監控與問題排除
Stub status 模組
Nginx Amplify 或 Prometheus exporter
除錯日誌
常見錯誤與解決方案
效能分析
第16課:最佳實踐與正式環境
設定管理
藍綠部署
零停機部署
備份與災難復原
資安強化檢查清單
文件撰寫與維護