1. 程式人生 > >Nginx高階配置之反向代理

Nginx高階配置之反向代理

正向代理

區域網內部通過代理訪問區域網外部的資源,稱為正向代理

配置

  • resolver 用於server塊,語法resolver address valid=time_out; 預設埠53,time_out丟包時間
  • resolver_timeout time 域名解析超時時間
  • proxy_pass 語法proxy_pass URL;設定代理伺服器地址

注意事項

  • server塊中不能出現server_name的配置
  • 不支援正向代理https站點
  • resolver指令是必須的

反向代理

區域網外部通過代理訪問區域網內部的資源,稱為反向代理。nginx能同時接受的客戶端連線計算方式worker_process * worker_connections / 4

基本指令


  • proxy_pass URL | upstream_name; 代理的URL或者伺服器組名稱。 則會將location的uri替換掉,如果有/不會替換.
  • proxy_hide_header用於隱藏伺服器在傳送響應時隱藏的一些頭域資訊,可在server http location塊配置
  • proxy_pass_header 設定報文頭中包含Date Server X-Accel等代理伺服器的頭域資訊
  • proxy_pass_request_body on | off; 是否將來自客戶端請求的請求體發給代理伺服器
  • proxy_set_header filed value 更改請求頭資訊值域,預設情況下:

proxy_set_header HOST $proxy_host; proxy_set_header Connection close;

  • proxy_set_body value更改客戶端請求體
  • proxy_bind address 代理連線指定主機處理
  • proxy_connect_timeout nginx伺服器與後端服務的連線超時時間,預設60 s
  • proxy_read_timeout time read等待後端伺服器響應超時時間60 S
  • proxy_write_timeout time write等待後端伺服器響應超時時間
  • proxy_method method
    請求代理伺服器的方法,客戶端的方法將被忽略
  • proxy_ignore_client_abort on | off 中斷網路請求時,是否中斷對被代理伺服器的請求,預設off即中斷
  • proxy_ignore_header field ... 伺服器接受到被代理的伺服器響應資料後不會處理設定的頭域
  • proxy_redirect off | default | redirect replacement 更改響應頭部Location資訊為當前代理伺服器地址
  • proxy_intercept_errors on | off;如果開啟,後端伺服器返回的錯誤碼大於400時,nginx返回自己的錯誤頁面
  • proxy_headers_hash_max_size size 報文頭hash表容量上限
  • proxy_next_upstream status 當請求等於status的狀態時交由下一組服務處理
  • proxy_ssl_session_reuse 是否基於ssl的安全協議的會話連線