http_proxy_module 模塊(proxy_pass 指令)


1. proxy_pass 指令介紹

該指令屬於 http_proxy_module, http_proxy_module 模塊可以將請求轉發到另一台服務器。

在 nginx 反向代理是,會通過 location 功能匹配指定的 URI,然后把接收到的符合匹配 URI的請求通過 proxy_pass 轉移給之前定義好的 upstream 節點池。

 

2. 使用實例

proxy_pass 的典型使用實例如下

1. 使用 upstream 模塊在 nginx 中定義一組或多組節點服務器組

upstream fd02_mc_server {
          server   10.21.6.4:88081  max_fails=2 fail_timeout=2;
}

2. 通過 proxy_pass 代理方式把網站的請求發送到事先定義好的對應 Upstream 組的名字上

         location  /fd02_mc {
             proxy_pass http://fd02_mc_server;
             include proxy.conf;
         }

注意上面不僅使用了 proxy_pass 指令還包括 include proxy.conf。

這是因為 http_proxy 模塊還包括一些選項,這些選項在絕大多數情況下都是必須要設置的。

項目中的 proxy.conf 配置如下

# proxy_set_header 表示設置 http 請求 header 項傳給后端的服務器節點
# 下面語句表示當反向代理向下面節點發送請求時,要攜帶主機頭信息
proxy_set_header Host $host;

# 該指令指定客戶端請求內容的緩沖區大小.
# 如果客戶端請求內容大於緩沖區,整個請求內容或部分請求內容將被寫人臨時文件
client_body_buffer_size 128k;

# 表示反向代理與后端節點服務器連接的超時時間,單位 S
proxy_connect_timeout 30;

# 代理后端服務器的數據回傳時間,規定時間內傳送不完,就會斷開連接
proxy_send_timeout 120;

# Nginx 從代理的后端服務器獲取信息的時間
proxy_read_timeout 120;

# 設置緩沖區的大小
proxy_buffer_size   32k;

# 設置緩沖區的數量和大小
proxy_buffers    4 32k;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM