快速配置 Nginx 来实现 GPT 流式传输

目录

  • 1. Nginx 参考配置
  • 2. Nginx 核心参数
  • 3. 其他参数

场景代理 ChatGPT代理各种 GPT 工具套壳等。

1. Nginx 参考配置

支持 GPT 流式访问的配置如下,请根据实际需求适当取舍即可:

server {listen 80;server_name chat.test.com;  # 绑定的域名# 配置的时候不要配置全局,仅在需要转发的地方进行配置location /chatgpt {proxy_set_header Host $host;proxy_set_header X-real-ip $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://chatgpt-backend; # 使用定义的服务器组proxy_http_version 1.1; # 可选, websocket 可用proxy_set_header Upgrade $http_upgrade;  # 可选proxy_set_header Connection "Upgrade";  # 可选proxy_buffering off; # 核心参数}upstream chatgpt-backend {  # 定义一组服务器,主要用于负载均衡配置server 172.10.1.119:8080;server 172.10.1.120:8080;}
}

2. Nginx 核心参数

  • proxy_buffering off;

这个指令告诉 Nginx 不要缓冲来自上游服务器的响应,而是立即将其发送给客户端。这对于需要实时或流式传输数据的场景非常有用,比如实时聊天、流媒体等。

proxy_buffering 默认为 on:表示启用代理缓冲,Nginx 将缓冲来自后端服务器的响应,并在接收完整响应后才将其发送给客户端。这可以提高性能并减少对后端服务器的请求频率,但可能会导致延迟

【注】打开与关闭各有对应的场景。

3. 其他参数

  • proxy_set_header Host $host;

设置请求的目标主机头。$host 变量将被替换为客户端请求中的主机名。

  • proxy_set_header X-Real-IP $remote_addr;

设置客户端的真实 IP 地址。$remote_addr 变量包含客户端的 IP 地址。

  • proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

设置客户端 IP 地址的列表。当请求通过代理时,代理服务器会将原始客户端 IP 地址添加到 X-Forwarded-For 头部中。$proxy_add_x_forwarded_for 变量将在原始 X-Forwarded-For 值的基础上添加新的 IP 地址。

  • proxy_set_header Upgrade $http_upgrade;

设置升级头,用于告知后端服务器客户端是否支持升级到其他协议。通常用于支持 WebSocket 连接。$http_upgrade 变量包含请求中的 Upgrade 头部信息。

  • proxy_set_header Connection "Upgrade";

设置连接头,指示客户端和服务器之间的连接类型。在支持 WebSocket 的情况下,将连接类型设置为 “Upgrade” 以启用升级协议。

  • proxy_http_version 1.1;

proxy_http_version 指令用于设置与后端服务器之间的 HTTP 协议版本。默认情况下,Nginx
会使用与客户端之间相同的 HTTP 协议版本与后端服务器通信。但有时您可能希望显式地指定与后端服务器之间使用的 HTTP 协议版本。

指定 proxy_http_version 1.1; 表示要求 Nginx 与后端服务器之间使用 HTTP/1.1 协议进行通信。HTTP/1.1 是较新的协议版本,具有许多改进和增强功能,比如持久连接、分块传输编码等。通过指定HTTP/1.1,您可以确保与后端服务器之间使用最新的协议特性,并可能提高性能和功能。

【注】默认情况下,Nginx 会自动检测客户端的 HTTP 协议版本,并与后端服务器进行相应的通信。因此,通常情况下不需要显式地设置 proxy_http_version

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/836625.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何推动物联网的未来?——青创智通

工业物联网解决方案-工业IOT-青创智通 物联网作为连接物理世界和数字世界的桥梁,正逐渐改变着我们的生活和工作方式。在工业领域,物联网技术的应用不仅提高了生产效率,还实现了对设备的智能化管理和维护。而工业网关作为物联网的重要组成部分…

js通过时间对JSON中的数据进行排序

需求 现在需要通过每一个数据段的date字段对数组的整体数据进行排序! 元数据如下: var data [{"filename": "123","date": "2024-05-10 19:53:57","stand": "GB-14","filter":…

java数据保留几位小数的问题

String.format(): 这个方法在格式化输出时非常常用,可以方便地控制小数位数,并且语法简洁易懂。它不仅可以用于格式化浮点数和双精度数,还可以用于格式化其他数据类型,如整数、字符串等。 示例代码: BigD…

仪器校准中,CNAS对报告的认可评审要求有哪些?

CNAS扩项时,常常会有关于对报告认可的相关要求,而这些要求往往有明确规范,那么在仪器校准中,CNAS对报告的认可评审要求有哪些? 现场评审时,评审组应关注抽查报告,评审组将现场随机抽取报告&…

thinkphp5实现多数据库连接

思路: 创建第二个数据库连接,然后在使用第二个数据的时候,切换连接 首先到config配置文件下创建连接 //数据库配置2,配置第二个数据库db_config2 > [// 数据库类型type > mysql,// 服务器地址hostname > 127.0.0.1,// 数据库名data…

程序员之虚拟形象课程录制

如果你实在是不想真人出镜,试试虚拟形象吧! 虚拟形象类课程片段的制作 虚拟形象的原理 现在,我们来探讨一下虚拟形象类课程片段的制作。虚拟形象在形式上与真人出镜相似,但它采用卡通形象代替真人,更具趣味性&#x…

酷开科技让你能够放心地把遥控器交给孩子

我国电视从诞生至今已有65个年头,从黑白到彩色,从背投到液晶,电视的外观随着时代技术的发展而不断变化,直到现在随着技术的不断迭代,电视的功能越来越丰富,电视在客厅中的地位也越来越凸显。作为家庭娱乐的…

【Linux基础】Vim保姆级一键配置教程(手把手教你把Vim打造成高效率C++开发环境)

目录 一、前言 二、安装Vim 三、原始Vim编译器的缺陷分析 四、Vim配置 🥝预备知识----.vimrc 隐藏文件 🍋手动配置 Vim --- (不推荐) 🍇自动化一键配置 Vim --- (强烈推荐) ✨功能演示 五、共勉 一、前言 Vim作为…

几种监控工具学习

在Linux上有很多监控工具,比如Zabbix、Prometheus、APM和ELK 监控工具是确保系统稳定运行的关键组件之一,它可以帮助系统管理员和开发人员及时发现并解决问题。 以下是几种流行的监控工具的简要介绍: Zabbix: Zabbix 是一个企…

实现字符串比较函数(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int i, result;char s1[100], s2[100];//填充数组&#xff1b;printf("请输入数组s1的…

2.分布式-算法

目录 一、限流算法有哪些&#xff1f; 1.计数器算法&#xff08;Counter-Based Algorithm&#xff09; 2.固定窗口算法&#xff08;Fixed Window&#xff09; 3.滑动窗口算法&#xff08;Sliding Window&#xff09; 4.令牌桶算法&#xff08;Token Bucket&#xff09; 5.…

生产设备数据管控要怎么做 可以实现精益生产和智能制造?

生产设备在制造过程中会产生多种类型的数据&#xff0c;这些数据对于优化生产流程、提高效率、降低成本和预防性维护等方面至关重要。需要对这些数据进行有效的采集和管理&#xff0c;以实现对生产设备数据管控。 一、生产设备数据类型包括&#xff1a; 设备运行状态数据&…

从零开始精通RTSP之多播传输

概述 多播&#xff08;Multicast&#xff09;是一种高效的网络通信技术&#xff0c;它允许一台或多台主机&#xff08;可称为多播源&#xff09;发送单一数据包到多个目标主机&#xff08;可称为多播组的成员&#xff09;&#xff0c;而只有属于该多播组的接收者才会接收到这些…

C++八股(面试题、手撕题)自用版

目录 面试题&#xff1a; 1. define inline 在编译的哪个阶段 2. const static 3. 子函数返回结构体有什么问题&#xff0c;返回对象调用了哪些函数 4. volatile关键字 5. 编译器基本原理 6. 预处理、编译、汇编、链接以及他们在操作系统上如何运作的 7. 数组和指针&a…

TensorRT-llm入门

一、目录 作用TensorRT-llm 为什么快&#xff1f;流程TensorRT-LLM 环境配置大模型 转换、编译与推理如何选择量化类型&#xff1f;lora 大模型如何合并&#xff1f;lora 大模型如何编译&#xff0c;使用&#xff1f;推理加速模型 tensorrRT-LLM、Vllm、fasterTransformer、Be…

第十一届蓝桥杯大赛软件类决赛 Java 研究生组

文章目录 发现宝藏【考生须知】试题 A: 合数个数试题 B: 含 2 天数试题 C 阶乘约数试题 D: 本质上升序列试题 E: 迨尺天涯试题 F 循环小数试题 G: 蓝肽子序列试题 H 出租车试题 I: 答疑试题 J: 蓝跳跳 发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&a…

使用JavaScript将富文本HTML转换为纯文本

在Web开发中&#xff0c;我们经常需要处理HTML内容&#xff0c;但有时为了特定的目的&#xff0c;比如文本处理、搜索或显示在非HTML环境中&#xff0c;我们可能希望将富文本HTML转换为纯文本。这里&#xff0c;我们将探讨如何使用JavaScript来实现这一功能。 为什么要将HTML转…

【高阶数据结构(三)】图的遍历最小生成树问题

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:高阶数据结构专栏⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习更多Go语言知识   &#x1f51d;&#x1f51d; 高阶数据结构 1. 前言2. 图的遍…

成功案例(IF=7.4)| 脂代谢组学和蛋白质组学分析揭示多囊卵巢综合征的发病机制

研究背景 多囊卵巢综合征&#xff08;PCOS&#xff09;是女性最常见的内分泌和代谢紊乱&#xff0c;也是无排卵性不孕症和高雄激素血症的主要原因。患者的主要临床表现为月经少、不孕、高雄激素血症、肥胖、多毛、痤疮、胰岛素抵抗&#xff08;IR&#xff09;和B超下多囊卵巢改…

Electron学习笔记(六)

文章目录 相关笔记笔记说明 七、系统5、托盘图标(1)、设置托盘图标(2)、托盘图标闪烁(3)、托盘图标菜单 6、剪切板(1)、写入剪切板(2)、读取剪切板 7、系统通知8、其他(1)、使用系统默认应用打开文件(2)、接收拖拽到窗口中的文件(3)、使用系统字体 相关笔记 Electron学习笔记&…