2. 編輯配置文件:通常情況下,你需要編輯 `/etc/nginx/nginx.conf` 或者位于 `/etc/nginx/sites-available/` 目錄下的特定站點配置文件。
以下是一個基本的反向代理配置示例:
http { # 服務器塊定義 server { # 監聽端口 listen 80; # 服務器名稱,可以是域名或IP地址 server_name yourdomain.com; # 定位到特定的路徑,這里攔截所有以 /api/ 開頭的請求 location /api/ { # 設置代理服務器,即后端服務器的地址 proxy_pass http://backend_server; # 設置傳遞給后端服務器的請求頭信息 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 其他可能的代理設置,如超時時間等 proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; # 如果需要,可以設置代理緩存等 # proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g # inactive=60m use_temp_path=off; # proxy_cache my_cache; # proxy_cache_valid 200 302 60m; # proxy_cache_valid 404 1m; } # 其他location塊和配置... } # 可以在這里定義upstream,如果你的后端有多個服務器需要負載均衡 # upstream backend_server { # server backend1.example.com; # server backend2.example.com; # # 其他服務器和負載均衡配置... # } }
以下是具體步驟:
1. 定義服務器塊(server):在 `http` 塊內定義一個 `server` 塊,指定監聽的端口和服務器名稱。
2. 設置 location:在 `server` 塊內,使用 `location` 指令來匹配特定的請求路徑。通常,你會為需要反向代理的路徑設置一個 `location`。
3. 配置代理傳遞(proxy_pass):在 `location` 塊內使用 `proxy_pass` 指令設置后端服務器的地址。
4. 設置請求頭(proxy_set_header):為了讓后端服務器能夠獲取到客戶端的原始信息,你可能需要設置一些請求頭,例如 `Host`、`X-Real-IP`、`X-forwarded-for` 和 `X-forwarded-Proto`。
5. 配置超時(proxy_connect_timeout、proxy_send_timeout、proxy_read_timeout):這些指令用于設置連接、發送和讀取數據的超時時間。
6. (可選)配置負載均衡:如果你有多個后端服務器,可以在 `http` 塊中使用 `upstream` 指令來定義它們,并在 `proxy_pass` 指令中使用 `upstream` 的名稱。
7. (可選)配置緩存:如果你需要,可以配置代理緩存來存儲常用響應。
8. 測試配置:在重新加載 nginx 配置之前,使用命令 `nginx -t` 來測試配置文件的正確性。
9. 應用配置:使用命令 `nginx -s reload` 來應用新的配置或者重新啟動 nginx。
確保你根據自己的實際需求修改示例中的 `yourdomain.com`、`/api/` 和 `http://backend_server` 等占位符。