課程簡介
HTTP/1.x 協定
請求和回應格式
使用 tcpdump 和 Wireshark 檢查 HTTP 工作階段
在 Web 瀏覽器中檢查 HTTP 標頭
使用 CURL 發出請求
通用標頭
請求流水線
內容長度和分塊編碼
MIME 類型
Nginx 安裝
從 Debian 套件安裝 nginx
Debian 和 Ubuntu 中可用的 nginx 變體
從原始程式碼安裝 nginx
啟動 nginx
升級nginx
Nginx 作為靜態檔伺服器
配置檔的一般結構
設置虛擬主機
配置位置
位置查找順序
設置錯誤頁面
發出重定向
其他形式的 URL 重寫
提供空的 GIF 影像
內部位置和命名位置
覆蓋MIME類型
用戶端性能優化
允許客戶端快取資源
Vary: 標頭
最小化請求數
保持活力
如果資源需要更改,該怎麼辦
Web 框架如何處理靜態檔
內容後處理
Gzip 壓縮
圖像縮放
Access 控制
根據IP位址限制對檔的訪問
地理限制
隱藏 VCS 目錄和私有檔
基本身份驗證
其他類型的身份驗證
組合限制
安全連結
應用限制
流量整形
以限制為目的對請求進行分組
速率限制請求
限制同時連接
Nginx 作為反向代理
支援的上游協定
處理自簽名上游 SSL 證書
將參數傳遞給FastCGI和uWSGI後端
代理 websocket 連接
X-Accel-* 接頭
修改上游接收和發送的標頭
特定於語言的反向代理設置
PHP
Python
Ruby
Nginx 作為 SSL 終結者
生成自簽名 SSL 證書
從 Let's Encrypt 獲取證書
限制可用密碼
使用會話票證
裝訂 OCSP 回應
驗證 SSL 配置
接受客戶端證書
HTTP/2 注意事項
使用 Nginx 進行負載均衡
定義上游組
使用 ip_hash的粘性會話
Nginx Plus 作為負載均衡器的額外功能
Nginx 和 Nginx Plus 的替代品
將另一個 Nginx 放在 Nginx 負載均衡器後面
Nginx 在 HAProxy 或 AWS 負載均衡器後面
Nginx 作為緩存
告訴 nginx 快取頁面
nginx 如何對與緩存相關的標準標頭做出反應
緩存的可調參數
Nginx Skyndiminni vs Skyndiminni á forritsstigi
清除緩存
使用 Nginx 部署常用的 Web 應用程式
要討論的應用程式清單由培訓師確定
伐木
Access 紀錄和錯誤紀錄檔
指定自訂日誌格式
跟蹤慢速請求
優化記錄
日誌輪換
外部程式的日誌分析
監控 Nginx
Nginx 存根狀態頁面
Nginx 加上擴展的實時狀態頁面
監控系統通常繪製和警報的內容 Nginx
[可選]Nginx¹ 的高可用性
如何將相同的靜態內容部署到多個伺服器
配置共用
使用彈性/虛擬IP位址進行故障轉移
使用 Keepalived 設置 VRRP
其他高可用性堆疊
Nginx 加上與 Keepalived 的集成
與 Nginx 配置相關的常見錯誤和安全問題
常見性能問題
¹ 高可用性部分涉及網路設置,該設置使入侵檢測系統不滿意,或者需要為每個參與者設置多個虛擬機(其他主題不需要)。因此,預設情況下不提供它。
最低要求
參與者必須熟悉 Linux 命令行,並具有 TCP/IP 的工作知識