Nginx
如果每個域沒有一個文件,您如何使用 SSL 處理 100 個域?
背景
我目前正在執行一個電子商務平台,此時在設置新域時會執行自動化腳本。它首先驗證 DNS 記錄,生成 Nginx 配置文件,然後使用 LetsEncrypt 生成 SSL 證書。
但是,這似乎很冗長而且效率不高,因為如果我需要進行更改(例如昇級到更新版本的 php),那麼我必須更新每個文件,而且每次都必須重新載入 Nginx域被添加、刪除或更改。
目標
有沒有辦法更有效地做到這一點,以便將來可以更輕鬆地完成負載平衡?
目前在進行負載平衡時,我必須決定要平衡哪些網站,每個網站都需要手動設置每個域。
您可以利用Nginx 中的
include
指令。將所有常用選項放入某個文件中,並將
include
該文件放在適當的位置。例如,在一個反向代理上,要添加的一組標頭(X-Forwarded-For
等)和排除 ACME 驗證 URI 在所有代理虛擬主機上都是相同的,因此我將它們放入公共文件中,並server
在需要時將該文件包含在指令中. 如果我需要更新(例如添加另一個標題),我只是更新那個包含的文件。至於重新載入 Nginx,這是不可避免的。當您以任何方式更改其配置時,無論是添加文件還是編輯現有文件,您都需要告訴它重新讀取更新的配置,這就是 reload 基本上所做的。它很優雅,這也是很常見的情況(不僅僅是 Nginx)。我不明白為什麼擔心。就像“應用”按鈕一樣。Ansible 可以為您完成(使用處理程序)。