解决nginx配置proxy_pass之后,响应变慢的问题

 更新时间:2024年01月25日 16:12:00   作者:be5yond  
这篇文章主要介绍了解决nginx配置proxy_pass之后,响应变慢的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

背景

netstub项目中,使用openresty作为网关,proxy_pass处理。

配置如下:

access.lua中进行一些预处理,然后代理到目标服务

    ...    
 
    location / {
        access_by_lua_file /etc/nginx/conf.d/access.lua; 
        resolver 8.8.8.8;
        proxy_pass http://$http_host;
        proxy_buffering off;
    }
 
    ...

问题

请求过程中发现,使用了nginx代理之后,请求变慢非常多,每个请求都将近1s。

本地启动netstub调试,直接请求http://httpbin.org/get?biz=test, 响应时间在200多ms

使用反向代理,请求http://127.0.0.1/get?biz=test, 响应时间达到了900多ms

原因和解决方法

几经辗转发现是http协议版本导致的,代理之后走的是http 1.0。

导致请求变慢。

在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;
    }
 
    ...
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • nginx网页缓存时间的配置过程

    nginx网页缓存时间的配置过程

    Nginx缓存的设置可以提高网站性能,对于网站的图片,尤其是新闻网站,下面这篇文章主要给大家介绍了关于nginx网页缓存时间的配置过程,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-01-01
  • Nginx 的多站点配置方案

    Nginx 的多站点配置方案

    这篇文章主要介绍了Nginx 的多站点配置方案,需要的朋友可以参考下
    2017-07-07
  • nginx配置教程之add_header的坑详解

    nginx配置教程之add_header的坑详解

    这篇文章主要给大家介绍了关于nginx配置教程之add_header坑的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-02-02
  • nginx找到默认根目录(root html)的方法

    nginx找到默认根目录(root html)的方法

    这篇文章主要给大家介绍了nginx如何找到默认根目录(root html),文中给出详细的解决方法,通过代码示例讲解的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2023-11-11
  • nginx.conf配置文件结构小结

    nginx.conf配置文件结构小结

    本文主要介绍了nginx.conf配置文件结构小结,nginx.conf主要由events、http、server、location、upstream等块配置项和一些行配置项组成,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • nginx配置ssl实现https访问的步骤(适合新手)

    nginx配置ssl实现https访问的步骤(适合新手)

    这篇文章主要给大家介绍了关于nginx配置ssl实现https访问的相关资料,这个教程非常适合新手小白,文中通过示例代码将实现的方法一步步介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧
    2018-12-12
  • nginx开启ws访问和4层负载的编译参数示例

    nginx开启ws访问和4层负载的编译参数示例

    这篇文章主要为大家介绍了nginx开启ws访问和4层负载的编译参数,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Nginx中root和alias指令的使用与区别

    Nginx中root和alias指令的使用与区别

    root和alias是两个重要但经常令人混淆的指令,尤其用于指定资源在服务器文件系统中的位置,本文就来介绍一下两个指令的使用与区别,感兴趣的可以了解一下
    2024-08-08
  • nginx配置域名转发到其他域名的几种方法小结

    nginx配置域名转发到其他域名的几种方法小结

    本文主要介绍了nginx配置域名转发到其他域名的几种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • nginx expires控制页面缓存

    nginx expires控制页面缓存

    expires 指令可以控制 HTTP 应答中的“Expires ”和“ Cache-Control ”的头标(起到控制页面缓存的作用)
    2013-01-01

最新评论