序
第 1 章 安裝
1.1 從 Red Hat Linux 的套件安裝
1.2 在 Windows 系統上安裝 Apache
1.3 下載 Apache 原始碼
1.4 從原始碼組建 Apache
1.5 用 ApacheToolbox 安裝
1.6 啟動、停止、及再啟動 Apache
1.7 移除 Apache
第 2 章 新增常用模組
2.1 安裝一般的協力廠商模組
2.2 在 Unix 類系統上安裝 mod_dav
2.3 在 Windows 系統上安裝 mod_dav
2.4 在 Unix 類系統上安裝 mod_perl
2.5 在 Unix 類系統上安裝 mod_php
2.6 在 Windows 系統上安裝 mod_php
2.7 安裝 mod_snake Python 模組
2.8 安裝 mod_ssl
第 3 章 日誌紀錄
3.1 在日誌內容中取得更詳細的資訊
3.2 取得更詳細的錯誤資訊
3.3 記錄 POST 網頁內容
3.4 記錄透過代理伺服器請求網頁的用戶端 IP 位址
3.5 記錄用戶端的 MAC 位址
3.6 記錄 Cookie
3.7 不記錄來自本機網頁的影像請求
3.8 依照日或小時來記錄請求
3.9 在每月的第一天更替日誌檔
3.10 記錄主機名稱而非 IP 位址
3.11 替每個虛擬主機維護個別的日誌
3.12 記錄經過代理伺服器的請求
3.13 將虛擬主機的錯誤記錄至多個檔案
3.14 記錄伺服器的 IP 位址
3.15 記錄參照網頁
3.16 記錄瀏覽器軟體的名稱
3.17 記錄請求標頭中的任意欄位
3.18 記錄回應標頭中的任意欄位
3.19 將活動日誌記錄到 MySQL 資料庫
3.20 將日誌記錄至 syslog
3.21 記錄使用者的目錄
第 4 章 虛擬主機
4.1 架設以名稱定址的虛擬主機
4.2 指定一台以名稱定址的主機為預設伺服器
4.3 架設以 IP 定址的虛擬主機
4.4 建立以 IP 定址的預設虛擬主機
4.5 混用以 IP 定址及以名稱定址的虛擬主機
4.6 以 mod_vhost_alias 建立大量的虛擬主機
4.7 以 Rewrite 規則建立大量的虛擬主機
4.8 SSL 及以名稱定址的虛擬主機
4.9 替每個虛擬主機建立日誌紀錄
4.10 分割日誌檔
4.11 以埠定址的虛擬主機
4.12 在數個位址上顯示相同的網頁內容
第 5 章 別名、重導、及重寫
5.1 在網頁上以語法顏色突顯的方式顯示 PHP 原始碼, 而不需建立符號連結
5.2 將 URL 對應至特定目錄
5.3 替現存的網頁內容建立新的 URL
5.4 讓使用者有各自的 URL
5.5 以單一指令建立數個 URL 別名
5.6 將數個 URL 對應至相同的 CGI 目錄
5.7 替每位使用者建立 CGI 目錄
5.8 重導至其它位置
5.9 將數個 URL 重導至同一位置
5.10 接受不區分大小寫的 URL
5.11 取代所請求之 URL 中的文字
5.12 將路徑資訊重寫至 CGI 參數
5.13 拒絕存取未被參照的請求
5.14 依據查詢字串來重寫
5.15 將伺服器的全部或部分重導至 SSL
5.16 將目錄轉換成主機名稱
5.17 將所有的請求重導至單一主機
5.18 將文件名稱轉換成參數
第 6 章 安全防護
6.1 使用系統帳號資訊在 Web 上進行身分驗證
6.2 設定只用一次的密碼
6.3 讓密碼過期
6.4 限制上載的大小
6.5 禁止在網站外使用圖像
6.6 同時要求弱驗證與強驗證
6.7 管理 .htpasswd 檔
6.8 替摘要驗證製作密碼檔
6.9 在子目錄中放寬安全限制
6.10 選擇性地提升安全限制
6.11 使用檔案擁有權來授權
6.12 將使用者的憑證存入 MySQL 資料庫
6.13 存取通過驗證的使用者名稱
6.14 取得驗證用的密碼
6.15 防止暴力式的密碼攻擊
6.16 摘要與基本驗證的比較
6.17 存取內含在 URL 中的憑證
6.18 防禦 WebDAV
6.19 啟用 WebDAV 但禁止 Web 使用者寫入檔案
6.20 禁止經由代理伺服器存取特定的 URL
6.21 以包裝器保護檔案
6.22 保護大部分的檔案
6.23 保護伺服器檔案免於惡意指令稿的攻擊
6.24 設定正確的檔案使用權限
6.25 執行最基本的模組
6.26 禁止存取在網站根目錄之外的檔案
6.27 依據使用者來限制存取方法
6.28 禁止部分請求
第 7 章 SSL
7.1 安裝 SSL
7.2 產生 SSL 憑證
7.3 產生受信任的 CA
7.4 讓網站的一部分經由 SSL 提供服務
7.5 以用戶端憑證來驗證
第 8 章 動態網頁內容
8.1 啟用 CGI 目錄
8.2 在不使用 ScriptAlias 的目錄中啟用 CGI 指令稿
8.3 使用 Windows 副檔名來啟動 CGI 程式
8.4 使用副檔名來辨識 CGI 指令稿
8.5 測試 CGI 是否正確設定
8.6 讀取表單參數
8.7 替特定的網頁內容類型叫用 CGI 程式
8.8 使 SSI 能順利運作
8.9 顯示上次修改日期
8.10 引入標準的標頭
8.11 引入 CGI 程式的輸出
8.12 以不同的使用者身分及 suexec 來執行 CGI 指令稿
8.13 從 CPAN 安裝 mod_perl 處理器
8.14 編寫 mod_perl 處理器
8.15 啟用對 PHP 指令稿的處理
8.16 確認 PHP 已安裝成功
第 9 章 錯誤處理
9.1 處理漏掉的 Host 欄位
9.2 更改 CGI 指令稿的回應狀態
9.3 自訂錯誤訊息
9.4 提供多種語言的錯誤文件
9.5 將無效的 URL 重導至其它網頁
9.6 讓 Internet Explorer 顯示你的錯誤網頁
9.7 在發生錯誤狀況時得到通知
第 10 章 代理伺服器
10.1 防禦你的代理伺服器
10.2 防止代理伺服器被當成開放式的轉信工具
10.3 將請求轉遞給其它伺服器
10.4 阻斷對特定位置的代理請求
10.5 以其它伺服器做為 mod_perl 網頁內容的代理伺服器
10.6 設定啟用快取功能的代理伺服器
10.7 過濾代理的網頁內容
10.8 對代理伺服器要求進行身分驗證
第 11 章 效能
11.1 決定需要多少記憶體
11.2 以 ab 來評校 Apache 的效能
11.3 調校保持連線的設定
11.4 取得網站活動的狀態畫面
11.5 避免 DNS 查詢
11.6 最佳化符號連結
11.7 盡量降低 .htaccess 檔對效能的影響
11.8 停用網頁內容協商
11.9 最佳化行程的產生
11.10 調校執行緒的產生
11.11 將經常檢視的檔案存入快取區
11.12 使用 mod_proxy 分擔伺服器間的負載
11.13 平均分配各伺服器間的負載
11.14 將目錄清單存入快取區
11.15 以 mod_perl 加速 Perl CGI 程式的執行
第 12 章 其它的主題
12.1 適當地放置指令
12.2 更改 .htaccess 的檔名
12.3 產生目錄/資料夾清單
12.4 解決「結尾的斜線」的問題
12.5 依據瀏覽器的功能設定 Content-Type
12.6 處理漏掉的 Host: 標頭欄位
12.7 替換預設文件
12.8 設定預設的「喜好圖示」
附錄 A 在 Apache 中使用正規表示式
附錄 B 疑難排解
索引