记:apifox 返回 invalid header token 的问题排查思路

背景:

某接口服务使用 springboot 2.x 开发,

@RestController 、@ReqeustBody 

在本地(localhost)调用的时候正常、chrome (.cn域名访问)浏览器访问正常。

换成 apifox (.cn域名访问)、postman (.cn域名访问)调用异常返回:invalid header token

问题分析:

本地调用正常 、html 正常表示应用程序本身逻辑应该是没问题的, apifox 、postman是成熟的工具, 与 html 的差异仅存在于对于 html 请求协议的封装、优化等处理,因此极有可能是某个请求头的异常、或者是缺失导致这个差异。本地与生产的差别在于 nginx 的代理, 这里可能出问题了。

排查手段:

云服务器配置临时开放应用服务端口,让请求可以跳过 Nginx 代理直接调用应用服务确认问题是否存在。

结果发现,通过ip 端口直接调用服务返回正常,那问题范围就缩小到 nginx 的响应头上了。

接下来给 nginx 响应头伺候上: proxy_set_header Content-Type $content_type;

再使用域名测试结果正常!

坐实了问题所在就是 nginx 响应头出了问题,还原云服务器配置临时开放应用服务端口。

建议:

在安装nginx 的时候,对于应用服务的响应头需要注意明确是否受 nginx 默认配置影响

你可能感兴趣的:(lua,开发语言)