pdf在浏览器上无法正常加载的问题

一、背景

觉得很有意思给大家分享一下。事情是这样的,开发给我反馈说,线上环境接口请求展示pdf异常,此时碰巧我前不久正好在ingress前加了一层nginx,恰逢此时内心五谷杂陈,思路第一时间便放在了改动项。捣鼓了好久无果,然后在测试环境搭建一套环境请求,竟然是正常。好了,好了,有正常的情况就行了,接下来就是找不同之处了。

二、步骤

1.修改nginx.conf,无果

bash 复制代码
default_type application/pdf;

2.调整架构,nginx不走ingress,直接到后端svc:port,避免ingress出现问题。避免多一层代理,多一点出问题的概率。无果,那么就不是ingress的问题。

3.对比异同。测试环境浏览器接口返回的类型是pdf,而线网是plain。激动人心,找到不一样的地方就有思路了。那么如何修改type呢?

bash 复制代码
# 隐藏后端服务器返回的Content-Type头
proxy_hide_header Content-Type;

# 添加新的Content-Type头,声明响应为PDF文件
add_header Content-Type application/pdf;

4.问题解决,撒花~

三、思考

为啥测试环境不需要加这个参数,而线网需要呢?还是需要找异常。第一直觉怀疑起nginx的版本,果然一看,测试环境1.20.1,线网1.14.1,版本老旧的有问题,基本心理已然有九成把握了。

四、复现

把线网的版本直接打包放到测试,重启。一切如我预料,如下图所示。加上配置,果然又如我所料,恢复正常。那么为啥线网测试nginx版本差这么多呢?因为线网严格按照规范,编译安装最常用的nginx,而测试环境犯懒直接yum安装。。。。。。。。属实是自己给自己挖坑

相关推荐
fatcoder13 小时前
玩转Nginx 04 — 反向代理:给 nginx 接上后端
前端·后端·nginx
fatcoder15 小时前
玩转Nginx 03 — location 匹配规则:让不同的路径各回各家
前端·后端·nginx
王坊兴17 小时前
Ubuntu 部署产品原型静态服务器:SFTP + Nginx
服务器·nginx·ubuntu
AI刀刀17 小时前
Kimi 文档导出格式错乱、排版丢失、导出报错?AI 导出鸭一键智能适配,稳定输出规范 Word、PDF,高效解决各类导出难题
人工智能·pdf·word·ai导出鸭
Ai-_Man17 小时前
豆包智能体把对话批量导出为Word或PDF的正确顺序
人工智能·ai·小程序·pdf·word
烬羽17 小时前
nginx 里写 localhost 反而 502?一条请求带你彻底搞懂 Docker 端口映射与反向代理
nginx·docker·程序员
小林ixn18 小时前
Docker + Nginx 反向代理:从“我电脑能跑”到“哪里都能跑”
nginx·docker·容器
SamChan9018 小时前
FastAPI+Celery+Redis搭建企业级PDF翻译异步任务系统
redis·后端·python·pdf·wpf·fastapi
CDN36018 小时前
源站隐藏实操:出海网站 IP 暴露、被扫描打源,CDN+Nginx 白名单加固方案
网络·tcp/ip·nginx·源站隐藏·cdn防护
张洛闻Eren18 小时前
云原生k8s【第一课】: Docker 容器技术
运维·云原生·容器·k8s