差異處
這裏顯示兩個版本的差異處。
| 兩邊的前次修訂版 前次修改 下次修改 | 前次修改 | ||
| tech:http_realip [2025/10/03 22:47] – 優化內容描述 jonathan | tech:http_realip [2025/10/03 22:57] (目前版本) – [以下透過一個實驗環境(Cloudflare Tunnel、NPM 與 Docker Swarm 架構)的架構案例進行說明] jonathan | ||
|---|---|---|---|
| 行 8: | 行 8: | ||
| - 使用 **real_ip_header** 指定要讀取的標頭名稱。 | - 使用 **real_ip_header** 指定要讀取的標頭名稱。 | ||
| - | ==== 以下透過一個實驗環境(Cloudflare Tunnel、NPM 與 Docker Swarm 架構)的架構案例進行說明 ==== | + | ==== 以下透過一個實驗環境(Cloudflare Tunnel、NPM 與 Docker Swarm 的架構)案例進行說明 ==== |
| < | < | ||
| 行 113: | 行 113: | ||
| : | : | ||
| </ | </ | ||
| + | < | ||
| + | 當設定 real_ip_recursive on 時,Nginx 會從 X-Forwarded-For 列表的最右邊開始,依序移除屬於 set_real_ip_from 信任範圍內的 IP,直到遇到第一個非信任 IP。由於我們這裡直接使用 real_ip_header CF-Connecting-IP,因此它會被視為真實 IP 並覆蓋 $remote_addr。」 | ||
| + | </ | ||
| ===== 3. Backend Service 內的 Nginx Config 設定 ===== | ===== 3. Backend Service 內的 Nginx Config 設定 ===== | ||
| * 因為這 Backend Service 是 dokuwiki 使用的 image 為 lscr.io/ | * 因為這 Backend Service 是 dokuwiki 使用的 image 為 lscr.io/ | ||