K8S 调整请求头大小限制:一次debug灾难的随手记录

news/2024/10/19 19:30:46

事情的起因

2024.10.19,OpenAI ChatGPT 突然将 CR 的 Token 长度变长,并且长的超出我的想象。由于业务需求,镜像站的 Response 回显为 400 Bad Request。

查看了一下日志,发现中间出现了几条 Arkose 的请求日志,我心想,丸辣,怎么 Arkose 回来了。

由于 2024.10.18 也就是昨天,基本上手上的号全部被封了,目前没有可以直接登录的 ChatGPT 账号,看不到官网具体的请求。(按原计划是今天再升级一批普通账号的,手上现成的都是 outlook 账号,登录很麻烦,需要绑定手机)

于是,我开始了氪金(,此时的用户基本上开始发现了问题。

在官网查看请求

氪金大概花了10几分钟,终于登录到了 ChatGPT 里面,然后我一瞅,“诶我去,没有Arkose啊”。心想,这下傻了😧。然后,我尝试看看 CR 是不是出现了什么问题,结果一看不知道,才发现 CR 长的离谱,逆天的一批。我在本地运行代理程序,发现稳定的 80% 请求成功,20% 请求失败。此时将问题定位到 CR 算法的更改

大概花了 10几分钟,我发现 CR 的算法似乎没有任何改变,突然感觉不对劲,这好像除了 Token 变长,没有任何因素影响?同时,由于镜像站过滤了 Response 真实的 Error 原因,我在本地才发现,真正的原因是因为 Request Header Too Large。但是这个时候我还是将问题放在 ChatGPT 身上。

切备用服务

得益于服务习惯,我一般有三套不同的核心代理组件,一套是上古时期的,比较繁琐的组件;一套是集群里面正在用的;还有一套是开发服的。PS:上古时期的组件在集群外,是ip:port 形式的。另外扯一下,这个组件就是比较繁琐,但是核心功能走的是集群不同服务,还算能用。当然切到上古组件的时候,突然整个网站好了。但是输出比较卡顿,因为没有做 Buff 优化,但是好歹能用就行。(这个地方我没发现,这个服务能用的原因是因为走了 ip:port,没有经过 Nginx Ingress)

调查问题

回到问题,我在想,是不是压缩选项不一样?因为我知道问题是请求头的问题,我怀疑是不是和那几个 gzip 有关系。于是我将请求强制降级为 HTTP/1.1,突然好了?(原本的请求都是走 HTTP/2)这下给我整不会了,但是能用就行,于是紧急 PUSH Commit,k8s 部署。

好的,恭喜,又炸了

我直接人傻了,我在想,不会吧,为什么本地没问题,线上有问题呢?结果没想到多久,我突然发现,我开发服的代理程序好了,但是正式环境的代理程序没好。我对比了一下代码,我发现我把一个比较长的 Token 用 hashToken 来代替了,原意是准备解决 Token 长怕传输需要时间,结果没想到误打误撞地解决了这个问题。后面就终于定位到了问题,开始一波 Ingress 的 header 大小修改

解决方法

添加下面的注解:

    nginx.ingress.kubernetes.io/proxy-buffer-size: 128knginx.ingress.kubernetes.io/proxy-buffering: 'on'nginx.ingress.kubernetes.io/server-snippet: |large_client_header_buffers 16 128K;client_header_buffer_size 128k;

吐槽

还是喜欢我的 Caddy,省事(

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

DEDE文章{dede:pagebreak/}翻页错位的解决方法

问题描述 在使用DEDE的 {dede:pagebreak/} 标签进行文章分页时,点击下一页后,文章内容会错位,出现在层外面。 解决方法检查文章中的HTML结构问题可能是因为文章内容中包含 div 层,而这些 div 层在分页时会导致布局错乱。 解决方法:将文章中的 div 层替换为 p 标签。<p&…

怎样修改公司网站的资料?网站怎么在后台修改文字?

修改公司网站的资料通常涉及以下几个步骤,具体操作可能会根据网站的技术栈和管理后台的不同而有所差异:登录管理后台:使用管理员账号登录到公司网站的管理后台。这通常是通过网站上的“登录”或“管理”链接进入。导航至编辑页面:在管理后台中找到需要修改的内容对应的编辑…

如何修改网站指定模板?网站怎么修改密码?

修改网站指定模板通常涉及以下几个步骤,具体操作可能会根据使用的网站构建工具或平台(如WordPress, Joomla, Drupal等)有所不同:备份当前模板:在进行任何修改之前,确保备份当前正在使用的模板文件和数据库。这可以防止在修改过程中出现错误导致网站无法正常访问。选择编辑…

判断隐写的第一步:识别文件类型

遇到不给文件后缀的文件题目,使用TrIDNET工具进行分析可以快速得出文件结果

20241019

这两天的题和今天的考试题。都是城外的 今天考试爆蛋了。【探险队】 题意: 思路:发现这是个基环树森林,考虑怎么做。发现如果是一条链的话很好做,直接一选一不选就行了,那就可以先这样把基环树都搞成一个个环。然后想到对于一个环可能它之前连着个链,然后最后一个被选了,…

网站没后台怎么修改内容?

如果网站没有后台管理系统,修改内容通常需要直接编辑网站的文件。以下是一些常见的方法:直接编辑HTML/CSS/JS文件:如果网站是静态的,即主要由HTML、CSS和JavaScript文件组成,可以直接在服务器上找到这些文件并进行编辑。 使用FTP客户端(如FileZilla)连接到服务器,下载需…

无缝轮播图

## vue3 无缝轮播图 <template><!-- @touchend="handleTouchEnd" --><!-- @touchstart="handleTouchStart" --><div class="carousel-conainer"><divclass="carousel-list":style="{ transform: `tra…

如何制作DIY一个低成本高性能的遥控玩具坦克?

前言 小学一年级的时候,第一次在深圳沙井的商场看到了遥控挖掘机,每次去那个商场我都会默默地去看一看挖土机玩具,那时就萌生了一个梦想,长大了一定要买一个遥控挖掘机。时光荏苒,儿时的梦想,如今依然记得,现在有能力买挖掘机,但是却没有了买一台挖掘机玩具的想法了。随…