這是本文件的舊版!
網站取得用戶真實 IP 的方法
- 目前網站的網路架構愈來愈複雜, 要取得用戶真實的 IP 需要透過特別指定與層層的傳遞才有機會取得, 以下透過一個實驗環境的架構案例進行說明
graph TD
%% 1. 定義主要節點 - 移除括號
A[Client - 1.2.3.4]
B{Cloudflare CDN}
C[Host A - Cloudflared]
D[Host B - 192.168.1.100:80 - NPM]
E[Backend Service - dokuwiki_dokuwiki:80]
R([Response])
F[Docker Swarm Overlay Network - rproxy-net]
%% 2. 結構化 - 邏輯分區
subgraph Edge & Host A
A -- HTTPS --> B
B -- Encrypted Tunnel --> C
end
subgraph Host B Docker Swarm & NPM
%% Host A 到 Host B 的連線
C -- HTTP - LAN 192.168.1.x --> D
%% NPM 經由 Overlay Network 到後端
D -- HTTP --> E
end
subgraph Backend Service
E -- dokuwiki-net 接入 --> F
end
%% 3. 主要流程連線
A --> B
B --> C
C --> D
D --> E
E --> R
%% 4. 補充細節/網絡連線
D -- 連線使用 rproxy-net --> F
F -- 服務名稱解析 --> E