### 緩沖區
作用:我們在代理服務往后端真實的服務器上轉發請求的時候,往往接收到的是請求的頭信息.當我們把這個配置打開,那么服務器將接受完整個請求然后再返回給客戶端 .優點就是減少了頻繁的IO損耗.
當打開此選項后,請求默認是存儲在內存中的,當內存不夠就會存在硬盤的臨時文件目錄下.擴展的幾個選項就是控制相關proxy_buffer_size的大小.
~~~
Syntax:proxy_buffering on|off;
Default:proxy_buffering on;
Context:http,server,location
~~~
擴展:proxy_buffer_size,proxy_buffers,proxy_busy_buffers_size
### 跳轉重定向
作用:當我們用Nginx作為代理服務器去代理后端服務,返回的是一個301的重定向的地址的時候,它會把我們的請求重定向到另外一個地址中去,返回給客戶端(前端無法世界訪問到 ).
~~~
Syntax:proxy_redirect default;proxy_redirect off;proxy_redirect redirect replacement;
Default:proxy_redirect default;
Context:http,server,location
~~~
### 頭信息
作用:在我們把Nginx作為代理服務器,但是后端的真實服務器是需要讀取頭信息的.這些頭信息是不準確的 . 在發給真實服務器的時候攜帶對應的一個頭,把對應的信息用新的頭攜帶到后端,讓后端可以讀取到.
~~~
Syntax:proxy_set_header field value;
Default :proxy_set_header Host $proxy_host;proxy_set_header Connection close;
Context:http,server,location;
~~~
擴展:proxy_hide_header,proxy_set_body
### 超時
作用: Nginx作為代理到后端真實服務器中的一個連接超時,就是TCP的請求連接超時.
~~~
Syntax:proxy_connection_timeout time;
Default :proxy_connection_timeout 60s;
Context:http,server,location;
~~~
擴展:proxy_read_timeout,proxy_send_timeout
### 常用代理配置
~~~
location / {
proxy_pass http://127.0.0.1:8080; //代理端口
proxy_redirect default; //常常配置成默認就行了
proxy_set_header Host $http_host; //轉發代理的host頭信息
proxy_set_header X-Real-IP $remote_addr; //轉發代理的真實IP地址信息
proxy_connect_timeout 30; //TCP請求的超時時間
proxy_send_timeout 60; //發送超時
proxy_read_timeout 60; //讀取超時
proxy_buffer_size 32k; //緩沖區大小
proxy_buffering on; //Nginx等待代理服務器全部的響應信息再次發給客戶端
proxy_buffers 4 128k;
proxy_busy_buffers_size 256k; //buffers大小
proxy_max_temp_file_size 256k; //buffers臨時文件大小
}
~~~
使用Nginx -V查看設置的臨時文件位置
~~~
--http-proxy-temp-path=/var/cache/nginx/proxy_temp
~~~
這些代理配置項可能需要配置很多組,可以將這些配置項單獨放在一個文件內,然后使用include包含進來 . 將此文件proxy_params放在/etc/nginx/文件夾下.
~~~
location / {
proxy_pass http://127.0.0.1:8080;
include proxy_params;
}
~~~
- NginX簡述
- 什么是中間件
- NginX概述
- 選擇NginX的理由
- NginX環境安裝
- 四項確認
- NginX安裝
- 安裝
- 安裝目錄詳解
- 編譯參數詳解
- Nginx主目錄
- 基于NginX的中間件架構
- Nginx日志類型
- Nginx變量
- 常見NginX中間架構
- 靜態資源web服務
- 概述
- 靜態資源服務場景-CDN
- 瀏覽器緩存原理
- 跨站訪問
- 防盜鏈
- 代理服務
- 概述
- 配置語法
- 其他配置語法
- 負載均衡調度器SLB
- 概述
- 配置
- 動態緩存
- ====分割線====
- Nginx初體驗
- nginx簡介
- 請求全流程
- nginx核心優勢
- 安裝第一個rpm包nginx
- Nginx進程結構與熱部署
- 進程結構
- 信號量管理nginx
- 配置文件重載原理真相
- nginx熱部署
- nginx模塊化管理機制
- nginx編譯安裝的配置參數
- nginx配置文件結構
- 虛擬主機的分類
- Nginx核心指令基礎應用
- main段核心參數用法
- events段核心參數用法
- HTTP段核心參數用法
- server_name
- server_name指令用法優先級
- root和alias的區別
- location的基礎用法
- location指令中匹配規則的優先級
- 深入理解location中URL結尾的反斜線
- stub_status模塊用法
- Nginx應用進階
- connection和request
- 對connection做限制的limit_conn模塊
- 對request處理速率做限制的limit_req模塊
- 限制特定IP或網段訪問的access模塊
- 限制特定用戶訪問的auth_basic模塊
- 基于HTTP響應狀態碼做權限控制的auth_request模塊
- rewrite模塊
- return指令
- rewrite指令
- return和rewrite指令執行順序
- if指令
- autoindex模塊用法
- Nginx的變量
- 變量分類
- TCP連接相關變量
- 發送HTTP請求變量
- 處理HTTP請求變量
- 反向代理
- 基礎原理
- 動靜分離
- nginx作為反向代理支持的協議
- 用于定義上游服務的upstream模塊
- upstream模塊指令用法詳解
- 配置一個可用的上游應用服務器
- proxy_pass常見誤區
- 代理場景下nginx接受用戶請求包體的處理方式
- 代理場景下Nginx更改發往上游的用戶請求
- 代理場景下Nginx與上游服務建立連接細節
- 基于fastcgi的反向代理
- 負載均衡
- 負載均衡基礎
- 實現nginx對上游服務負載均衡
- 負載均衡hash算法
- 負載均衡ip_hash算法
- 負載均衡最少連接數算法
- 針對上游服務器返回異常時的容錯機制
- Nginx緩存
- 緩存基礎
- 緩存相關指令
- 緩存用法配置示例
- 配置nginx不緩存上游服務特定內容
- 緩存失效降低上游壓力機制1-合并源請求
- 緩存失效降低上游壓力機制2-啟用陳舊緩存
- 第三方清除模塊ngx_cache_purge介紹
- ngx_cache_purge用法配置示例
- Nginx和HTTPS
- https原理基礎
- https如何解決信息被竊聽的問題
- https如何解決報文被篡改以及身份偽裝問題
- 配置私有CA服務器
- 組織機構向CA申請證書及CA簽發證書
- 深入Nginx架構
- Nginx性能優化