解决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;
    }
 
    ...
}

总结

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

相关文章

  • 在Debian上安装最新版Nginx实践

    在Debian上安装最新版Nginx实践

    文章介绍了Nginx安装的官方文档流程,涵盖先决条件、密钥验证、存储库设置、安装步骤及常用命令,如启动/停止/重启服务、检查配置、查看版本与日志等,帮助用户完成Nginx部署与管理
    2025-09-09
  • nginx 部署启动jar包用到的一些命令和流程操作

    nginx 部署启动jar包用到的一些命令和流程操作

    这篇文章主要介绍了nginx 部署启动jar包用到的一些命令和流程操作,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-11-11
  • nginx php-fpm中启用慢日志配置(用于检测执行较慢的PHP脚本)

    nginx php-fpm中启用慢日志配置(用于检测执行较慢的PHP脚本)

    这篇文章主要介绍了nginx php-fpm中启用慢日志配置,php-fpm慢日志slowlog设置可以让我们很好的看见哪些php进程速度太慢而导致的网站问题,可以让我们方便的找到问题的所在,需要的朋友可以参考下
    2014-05-05
  • nginx前端部署后,访问不到同一台机器的后端问题

    nginx前端部署后,访问不到同一台机器的后端问题

    这篇文章主要介绍了nginx前端部署后,访问不到同一台机器的后端问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Nginx出现403 Forbidden的四种解决方案分享

    Nginx出现403 Forbidden的四种解决方案分享

    这篇文章主要给大家分享了关于Nginx出现403 Forbidden的四种解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-09-09
  • Nginx设置目录的访问权限实现访问静态资源

    Nginx设置目录的访问权限实现访问静态资源

    遇到Permission denied错误,通常是Nginx用户权限不足,本文就来介绍一下Nginx设置目录的访问权限实现访问静态资源
    2024-10-10
  • nginx常用配置conf的示例代码详解

    nginx常用配置conf的示例代码详解

    这篇文章主要介绍了nginx常用配置conf,包括配置vue项目,配置接口代理的代码详解,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • Nginx如何实现pathinfo模式的方法详解

    Nginx如何实现pathinfo模式的方法详解

    pathinfo是伪静态的一种,对于用过thinkphp的朋友们来说应该都不陌生,下面这篇文章主要给大家介绍了关于Nginx如何实现pathinfo模式的方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。
    2017-09-09
  • 详解Nginx proxy_pass的一个/斜杠引发的血案

    详解Nginx proxy_pass的一个/斜杠引发的血案

    这篇文章主要介绍了详解Nginx proxy_pass的一个/斜杠引发的血案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Mac下Nginx安装环境配置详解

    Mac下Nginx安装环境配置详解

    本篇文章主要介绍了Mac下Nginx环境配置详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02

最新评论