解決nginx配置proxy_pass之后,響應(yīng)變慢的問題
背景
netstub項(xiàng)目中,使用openresty作為網(wǎng)關(guān),proxy_pass處理。
配置如下:
access.lua中進(jìn)行一些預(yù)處理,然后代理到目標(biāo)服務(wù)
...
location / {
access_by_lua_file /etc/nginx/conf.d/access.lua;
resolver 8.8.8.8;
proxy_pass http://$http_host;
proxy_buffering off;
}
...問題
請(qǐng)求過程中發(fā)現(xiàn),使用了nginx代理之后,請(qǐng)求變慢非常多,每個(gè)請(qǐng)求都將近1s。
本地啟動(dòng)netstub調(diào)試,直接請(qǐng)求http://httpbin.org/get?biz=test, 響應(yīng)時(shí)間在200多ms

使用反向代理,請(qǐng)求http://127.0.0.1/get?biz=test, 響應(yīng)時(shí)間達(dá)到了900多ms

原因和解決方法
幾經(jīng)輾轉(zhuǎn)發(fā)現(xiàn)是http協(xié)議版本導(dǎo)致的,代理之后走的是http 1.0。
導(dǎo)致請(qǐng)求變慢。
在nginx配置文件中增加proxy 版本配置proxy_http_version 1.1; 指定為1.1版本即可
server {
...
proxy_http_version 1.1;
location / {
access_by_lua_file /etc/nginx/conf.d/access.lua;
resolver 8.8.8.8;
proxy_pass http://$http_host;
proxy_buffering off;
}
...
}總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Nginx中l(wèi)ocation proxy_pass加與不加/的區(qū)別說明
- Nginx?location和proxy_pass配置示例詳解
- Nginx中proxy_pass的斜杠的兩種方式
- Nginx的location路徑與proxy_pass匹配規(guī)則說明
- Nginx捕獲并自定義proxy_pass返回的錯(cuò)誤問題
- nginx中如何配置proxy_pass
- Nginx rewrite和proxy_pass的區(qū)別及說明
- Nginx proxy_pass如何到https后端
- nginx代理參數(shù)proxy_pass的實(shí)現(xiàn)
- nginx反向代理proxy_pass遇到的死循環(huán)問題
- Nginx使用if指令實(shí)現(xiàn)多個(gè)proxy_pass方式
- Nginx中proxy_pass使用小結(jié)
相關(guān)文章
nginx 部署啟動(dòng)jar包用到的一些命令和流程操作
這篇文章主要介紹了nginx 部署啟動(dòng)jar包用到的一些命令和流程操作,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-11-11
nginx php-fpm中啟用慢日志配置(用于檢測(cè)執(zhí)行較慢的PHP腳本)
這篇文章主要介紹了nginx php-fpm中啟用慢日志配置,php-fpm慢日志slowlog設(shè)置可以讓我們很好的看見哪些php進(jìn)程速度太慢而導(dǎo)致的網(wǎng)站問題,可以讓我們方便的找到問題的所在,需要的朋友可以參考下2014-05-05
nginx前端部署后,訪問不到同一臺(tái)機(jī)器的后端問題
這篇文章主要介紹了nginx前端部署后,訪問不到同一臺(tái)機(jī)器的后端問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
Nginx出現(xiàn)403 Forbidden的四種解決方案分享
這篇文章主要給大家分享了關(guān)于Nginx出現(xiàn)403 Forbidden的四種解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-09-09
Nginx設(shè)置目錄的訪問權(quán)限實(shí)現(xiàn)訪問靜態(tài)資源
遇到Permission denied錯(cuò)誤,通常是Nginx用戶權(quán)限不足,本文就來介紹一下Nginx設(shè)置目錄的訪問權(quán)限實(shí)現(xiàn)訪問靜態(tài)資源2024-10-10
Nginx如何實(shí)現(xiàn)pathinfo模式的方法詳解
pathinfo是偽靜態(tài)的一種,對(duì)于用過thinkphp的朋友們來說應(yīng)該都不陌生,下面這篇文章主要給大家介紹了關(guān)于Nginx如何實(shí)現(xiàn)pathinfo模式的方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2017-09-09
詳解Nginx proxy_pass的一個(gè)/斜杠引發(fā)的血案
這篇文章主要介紹了詳解Nginx proxy_pass的一個(gè)/斜杠引發(fā)的血案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11

