跳至主要內容
Lizely

Nginx 設定產生器

根據驗證過的網域、根目錄、備用設定、快取與 gzip 選項,產生一個範圍明確的靜態網站 Nginx HTTP 伺服器區塊,並提供明確的測試與 TLS 限制說明。

隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。

使用方式

  1. 1.輸入一個精確的網域、一個安全的絕對文件根目錄與快取時間,然後選擇靜態 404 或 SPA 預設落回。
  2. 2.產生區塊後,請審查每一條指令與已安裝的 Nginx 模組、部署路徑及快取策略是否相符。
  3. 3.請備份目前的設定,將片段放入正確的上下文環境,執行 nginx -t 測試,並在重新載入前測試代表性請求。

關於Nginx 設定產生器

Nginx 配置產生器會建立一個受限制的 HTTP 伺服器區塊,用於簡單的靜態網站或單頁應用程式。輸入一個網域、一個絕對的文件根目錄路徑、靜態資產快取時間,以及可選的 SPA 預設落回與 gzip 選項。產生的輸出會留在瀏覽器端,並用於在較大的 Nginx 安裝中進行檢閱。

產生的區塊會監聽 IPv4 與 IPv6 的 80 通訊埠,並選擇一個精確的 server_name。不會加入萬用字元、其他 www 主機或正規表示式,因為這些選項會影響虛擬主機路由與證書覆蓋範圍。若有多個名稱需要服務或轉址,應明確設計此行為,而非假設產生器能推論擁有權。

文件根目錄必須是使用受限制的安全路徑字元組成的絕對 POSIX 路徑。分號、花括號、變數、空白字元以及類似 shell 的語法都會被拒絕,因此使用者輸入無法產生額外的指令。這個路徑仍然必須在目標伺服器上存在,且擁有正確的擁有權與讀取權限;瀏覽器無法檢查這些資訊。

對於一般靜態網站,location / 會使用 try_files 來處理請求的 URI、目錄形式以及明確的 404 備用。對於 SPA,最終的備用會設定為 /index.html,以便客戶端路由能接收未知的應用程式路徑。對於一般內容網站,請勿啟用 SPA 備用,因為若資源不存在時返回 home shell 並以狀態碼 200 呼應,可能隱藏錯誤的 URL 並破壞錯誤語義。

會另外設定一個不區分大小寫的資源位置,用來處理一小組固定的副檔名,包括 CSS、JavaScript、常見圖片、圖示與 WOFF2 字型。expires 指令會使用選定的 1 至 365 天數的快取期限,並加上 Cache-Control public。在選擇高快取期限前,應先對長期資源進行版本或指紋處理,否則訪客可能在部署後仍會取得過期的檔案。

可選的 gzip 會啟用標準過濾器,加入 Vary: Accept-Encoding,並列出 CSS、JavaScript、JSON 與 SVG 型別。HTML 會由 Nginx 的 gzip 行為處理,無需明確列出於 gzip_types 中。壓縮可能引發秘密資料透過壓縮回應洩露的側通道風險,且預壓縮資源需要不同的設定。應實際測試網站與安全環境。

TLS 被刻意排除。正確的 HTTPS 設定取決於證書路徑、續期工具、支援的協議、轉址、代理或 CDN 網路拓撲以及 HSTS 政策。若自行臆測證書路徑將會產生危險的錯誤信心。應透過平臺設定或經審核的伺服器流程來設定 HTTPS,並分別測試 HTTP 到 HTTPS 的轉換行為。

輸出內容也排除了 PHP、FastCGI、反向代理、WebSockets、上傳、認證、速率限制、自訂錯誤、MIME 包含路徑、日誌記錄與安全標頭。這僅是靜態網站的片段,並非所有應用程式的生產基準。僅加入實際架構所需的指令與官方模組檔案所述內容。

八個官方檔案範例涵蓋兩種 listen 形式、精確的 server_name、根目錄、靜態與 SPA try_files 備用、資源過期設定與 gzip 型別。負面測試會拒絕含方案的網域、注入型的根目錄以及超出合約的快取期限。會明確斷言區塊邊界,以防止重複的伺服器區塊透過。

在修改生產環境前,請先儲存目前的設定,並記錄當前的 include 連鎖。將審查過的檔案放入正確的上下文環境,然後針對完整設定執行 nginx -t 測試。僅成功的語法測試無法證明檔案權限、DNS、應用程式路由或證書行為,因此應在之後請求代表性路徑進行測試。

若平臺流程支援,應重新載入服務而非突然中止,並保持一個恢復 shell 開放。若語法測試失敗,則不可重新載入。若重新載入後請求失敗,應恢復備份並檢視錯誤日誌。永久性的快取與路由錯誤即使 Nginx 仍線上,也可能影響訪客。

僅當問題確實出在一個小型靜態來源時才應使用此產生器。對於 managed hosting、容器、Kubernetes ingress 或 CDN,正確的設定可能在別處。最易維護的結果是與當前部署證據相符的最小審查設定。

方法與來源

在組裝一個精確的 HTTP 伺服器區塊前,會先驗證一個公開領域、安全的絕對 POSIX 根目錄與整數快取持續時間;此區塊包含精確的 listen、root、index、try_files、有界資源快取,以及可選的已檔案化 gzip 指令,但不包含 TLS 與應用程式的後端服務。

常見問題

為何此工具不會產生 HTTPS?
證書路徑、續期、代理拓撲與 HSTS 都需要部署特定的證據,因此自行臆測 TLS 設定會是不安全的。
何時應啟用 SPA 備用?
僅當客戶端路由需要接收未知的應用程式路徑時才應啟用;一般網站應保留真實的 404。
僅憑 nginx -t 就能證明網站正常運作嗎?
不行。它僅驗證語法與參考,你仍必須測試權限、DNS、路由、檔案、快取與實際回應內容。

SEO 與網站管理 使用指南

查看全部