国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Nginx實踐篇(5)- Nginx代理服務 - 代理緩沖區、代理重新定義請求頭、代理連接超時

Godtoy / 1774人閱讀

摘要:由緩沖區數量和緩沖區大小組成的。重新定義或添加傳遞給代理服務器的請求頭允許重新定義或添加傳遞給代理服務器的請求頭。定義了將請求發送到代理服務器的超時時間,默認為秒。

1. 代理緩沖區
代理服務器可以緩存一些響應數據,來減少I/O損耗,數據默認存儲在內存中,當內存不夠時,會存儲到硬盤上。
proxy_buffering

proxy_buffering這個參數用來控制是否打開后端響應內容的緩沖區,如果這個設置為off,那么proxy_buffers和proxy_busy_buffers_size這兩個指令將會失效。 但是無論proxy_buffering是否開啟,對proxy_buffer_size都是生效的。

proxy_buffering開啟的情況下,nignx會把后端返回的內容先放到緩沖區當中,然后再返回給客戶端(邊收邊傳,不是全部接收完再傳給客戶端)。 臨時文件由proxy_max_temp_file_size和proxy_temp_file_write_size這兩個指令決定的。

如果proxy_buffering關閉,那么nginx會立即把從后端收到的響應內容傳送給客戶端,每次取的大小為proxy_buffer_size的大小,這樣效率肯定會比較低。

注: proxy_buffering啟用時,要提防使用的代理緩沖區太大。這可能會吃掉你的內存,限制代理能夠支持的最大并發連接數。

Syntax:    proxy_buffering on | off;
Default:    proxy_buffering on;
Context:    http, server, location
proxy_buffer_size

后端服務器的響應頭會放到proxy_buffer_size當中,這個大小默認等于proxy_buffers當中的設置單個緩沖區的大小。 proxy_buffer_size只是響應頭的緩沖區,沒有必要也跟著設置太大。

Syntax:    proxy_buffer_size size;
Default:    proxy_buffer_size 4k|8k;
Context:    http, server, location
proxy_buffers

proxy_buffers的緩沖區大小一般會設置的比較大,以應付大網頁。 proxy_buffers當中單個緩沖區的大小是由系統的內存頁面大小決定的,Linux系統中一般為4k。 proxy_buffers由緩沖區數量和緩沖區大小組成的??偟拇笮閚umber*size。

若某些請求的響應過大,則超過_buffers的部分將被緩沖到硬盤(緩沖目錄由_temp_path指令指定), 當然這將會使讀取響應的速度減慢, 影響用戶體驗. 可以使用proxy_max_temp_file_size指令關閉磁盤緩沖.

Syntax:    proxy_buffers number size;
Default:    proxy_buffers 8 4k|8k;
Context:    http, server, location
proxy_busy_buffers_size

proxy_busy_buffers_size不是獨立的空間,他是proxy_buffers和proxy_buffer_size的一部分。nginx會在沒有完全讀完后端響應的時候就開始向客戶端傳送數據,所以它會劃出一部分緩沖區來專門向客戶端傳送數據(這部分的大小是由proxy_busy_buffers_size來控制的,建議為proxy_buffers中單個緩沖區大小的2倍),然后它繼續從后端取數據,緩沖區滿了之后就寫到磁盤的臨時文件中。

Syntax:    proxy_busy_buffers_size size;
Default:    proxy_busy_buffers_size 8k|16k;
Context:    http, server, location
2. 重新定義或添加傳遞給代理服務器的請求頭 proxy_set_header
Syntax:    proxy_set_header field value;
Default:    
    proxy_set_header Host $proxy_host;
    proxy_set_header Connection close;
Context:    http, server, location

允許重新定義或添加傳遞給代理服務器的請求頭。value可以包含文本、變量或者它們的組合。 當前配置級別中沒有定義proxy_set_header指令時,會從上一級別繼承配置。 默認情況下,只有兩個請求頭會被重新定義:

proxy_set_header Host $proxy_host;
proxy_set_header Connection close;

如果啟用緩存,來原始請求的請求頭 “If-Modified-Since”, “If-Unmodified-Since”, “If-None-Match”, “If-Match”, “Range”, 和 “If-Range” 將不會被代理服務器傳遞。

可以通過下面的配置使請求頭 “Host” 不被代理服務器替換:

proxy_set_header Host $http_host;
3. 代理超時 proxy_connect_timeout
Syntax:    proxy_connect_timeout time;
Default:    proxy_connect_timeout 60s;
Context:    http, server, location

定義Nginx作為代理,到后端服務器中間的連接超時時間,默認為60秒。
應該注意的是,這個超時時通常不能超過75秒。

proxy_read_timeout
Syntax:    proxy_read_timeout time;
Default:    proxy_read_timeout 60s;
Context:    http, server, location

定義了從代理服務器讀取響應的超時時間,默認為60秒。
超時只設置在兩個連續的讀取操作之間,而不是整個響應的傳輸。
如果代理服務器在這個時間內沒有傳輸任何數據,那么連接就關閉了。

proxy_send_timeout
Syntax:    proxy_send_timeout time;
Default:    proxy_send_timeout 60s;
Context:    http, server, location

定義了將請求發送到代理服務器的超時時間,默認為60秒。
超時只設置在兩個連續的寫操作之間,而不是整個請求的傳輸。
如果代理服務器在這個時間內沒有收到任何數據,那么連接就關閉了。

4. 代理常用配置注解
location / {
    # 配置反向代理到本機的8080端口
    proxy_pass http://127.0.0.1:8080;

    # 配置請求客戶端真實的 Host 信息
    proxy_set_header Host $http_host;
    # 配置請求用戶真實的IP信息
    proxy_set_header X-Real-IP $remote_addr;

    # 連接超時時間為30秒
    proxy_connect_timeout 30;
    # 讀取響應超時時間為60秒
    proxy_send_timeout 60;
    # 發送請求超時時間為60秒
    proxy_read_timeout 60;

    # 開啟代理緩沖區
    proxy_buffering on;
    # 響應頭的緩沖區設為32k
    proxy_buffer_size 32k;
    # 網頁內容緩沖區個數為4,單個大小為128k
    proxy_buffers 4 128k;
    proxy_busy_buffers_size 256k;
    # 緩沖區臨時文件最大為 256k
    proxy_max_temp_file_size 256k;

}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/29197.html

相關文章

  • Nginx踐篇5)- Nginx代理服務 - 代理沖區、代理重新定義請求、代理連接超時

    摘要:由緩沖區數量和緩沖區大小組成的。重新定義或添加傳遞給代理服務器的請求頭允許重新定義或添加傳遞給代理服務器的請求頭。定義了將請求發送到代理服務器的超時時間,默認為秒。 1. 代理緩沖區 代理服務器可以緩存一些響應數據,來減少I/O損耗,數據默認存儲在內存中,當內存不夠時,會存儲到硬盤上。 proxy_buffering proxy_buffering這個參數用來控制是否打開后端響應內容的...

    BDEEFE 評論0 收藏0
  • CentOS7安裝維護Nginx

    摘要:安裝這里持續更新修正是一款面向性能設計的服務器,能反向代理,和郵件相關,,的協議鏈接。并且提供了負載均衡以及緩存。所以關于,有這些標簽異步事件模塊化高性能高并發反向代理負載均衡系統版本安裝安裝依賴重定向支持和支持,如果不需要可以不安裝。 Nginx 安裝 這里持續更新修正 Nginx 是一款面向性能設計的 HTTP 服務器,能反向代理 HTTP,HTTPS 和郵件相關(SMTP,POP...

    Anchorer 評論0 收藏0
  • 前端nginx使用札記

    摘要:它是一個高性能的和反向代理服務器,同時也可以作為的代理服務器。如果相對域名或參數字符串起作用,可以使用全局變量匹配,也可以使用反向代理。 nginx是什么? nginx是俄羅斯人 Igor Sysoev為俄羅斯訪問量第二的Rambler.ru站點開發的一個十分輕量級的HTTP服務器。它是一個高性能的HTTP和反向代理服務器,同時也可以作為IMAP/POP3/SMTP的代理服務器。ngi...

    tianren124 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<