·【場景描述】
HTTP1.1之後,HTTP協議支持持久連接,也就是長連接,優點在於在一個TCP連接上可以傳送多個HTTP請求和響應,減少了建立和關閉連接的消耗和延遲。
如果我們使用了nginx去作爲反向代理或者負載均衡,從客戶端過來的長連接請求就會被轉換成短連接發送給服務器端。
爲了支持長連接,我們需要在nginx服務器上做一些配置。
·【要求】
使用nginx時,想要做到長連接,我們必須做到以下兩點:
- 從client到nginx是長連接
- 從nginx到server是長連接
對於客戶端而言,nginx其實扮演着server的角色,反之,之於server,nginx就是一個client。
·【保持和 Client 的長連接】
我們要想做到Client與Nginx之間保持長連接,需要:
- Client發送過來的請求攜帶"keep-alive"header。
- Nginx設置支持keep-alive
【HTTP配置】
默認情況下,nginx已經開啓了對client連接的 keepalive 支持。對於特殊場景,可以調整相關參數。