访问s3里pdf文件出现strict-origin-when-cross-origin问题修复

解决方案
复制代码
location /s3-pdf/ {
    proxy_pass https://xxx-pdf.s3.us-east-2.amazonaws.com/;
    proxy_set_header Host xxx-pdf.s3.us-east-2.amazonaws.com;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_ssl_server_name on;

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Range $http_range;
    proxy_set_header If-Range $http_if_range;

    add_header Content-Type application/pdf;
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods GET,HEAD;
    add_header Access-Control-Allow-Headers Range;
}

把访问 https://你的域名/s3-pdf/xxx.pdf的请求,反向代理转发到 AWS S3 上的 PDF 文件,并在返回给浏览器时强制声明为 PDF 类型,顺便处理跨域问题。
客户端访问:/s3-pdf/test.pdf
Nginx 实际去请求:https://xxx-pdf.s3.us-east-2.amazonaws.com/test.pdf

location /s3-pdf/ {
    proxy_pass https://xxx-pdf.s3.us-east-2.amazonaws.com/;
    ...
}

强制告诉浏览器:返回的是 PDF
否则可能出现:
浏览器下载失败
直接显示乱码
被当成 text/plain

add_header Content-Type application/pdf;
实际流程
复制代码
浏览器
 ↓
https://cdn.example.com/s3-pdf/test.pdf
 ↓(Nginx 代理)
https://xxx-pdf.s3.us-east-2.amazonaws.com/test.pdf
 ↓
S3 返回 PDF
 ↓
Nginx 加上 Content-Type
 ↓
浏览器正确预览 / 下载 PDF
增加跨域配置
复制代码
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods GET,HEAD;
add_header Access-Control-Allow-Headers Range;
大文件 / 断点续传问题
复制代码
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;

# 【关键点】Host 必须设置为 S3 的域名,不能用 $host
proxy_set_header Host xxx-pdf.s3.us-east-2.amazonaws.com;
修改配置并重载 Nginx (nginx -s reload) 后,再次访问链接
相关推荐
tianyatest16 小时前
给 AI Agent 写了个 Skill:扫描版电子书自动解压合并 + 加书签(附 PDG 格式逆向)
ai·pdf·电子书
开开心心就好19 小时前
一元二次方程求解工具,答案带详细步骤
java·服务器·开发语言·算法·pdf·ocr·perl
闭包不眠20 小时前
网页转PDF字体出错不报错,我先看文件大小
图像处理·人工智能·计算机视觉·pdf
鲲穹AI种草1 天前
PDF 编辑工具怎么选,多款工具实际使用情况整理
pdf·pdf 编辑工具
阿松爱学习1 天前
【Unity开发】Aspose.PDF的使用
unity·pdf·c#
andrsted1 天前
练题簿在线免费刷题:Word、PDF 导题与预览补全,把现成资料变成可练习题库
微信小程序·小程序·pdf·word·学习方法·刷题
AI行业应用研究1 天前
会务信息载体的演进:纸质、PDF 与结构化数据源的分发成本与版本一致性
大数据·人工智能·安全·小程序·架构·pdf
king13598745501 天前
EmbeddingGemma 2 270M 实测:Mac CPU、PDF/Word、256d 与 FTS5
macos·pdf·word
2501_930707781 天前
使用C#代码从 PDF 文档中提取附件
pdf
程序人生8882 天前
PDF 转 Word 版式错乱、表格丢失?DocConverter Web 格式互转引擎的保真实践
前端·人工智能·opencv·机器学习·pdf·word