当前位置:首页 > 科技  > 软件

配置Nginx访问阿里云OSS资源踩坑之路

来源: 责编: 时间:2024-04-09 17:23:32 252观看
导读朋友那边有个需求要在阿里云OSS上绑定一个自定义的域名,但是此域名已经在DNS解析那边有了A记录,OSS绑定域名需要在DNS解析那边加个CNAME,这样就冲突了。但是朋友那边就一定要使用这个域名,想了想也只能通过Nginx的一个二

朋友那边有个需求要在阿里云OSS上绑定一个自定义的域名,但是此域名已经在DNS解析那边有了A记录,OSS绑定域名需要在DNS解析那边加个CNAME,这样就冲突了。但是朋友那边就一定要使用这个域名,想了想也只能通过Nginx的一个二级目录来反向代理这个OSS了。ti528资讯网——每日最新资讯28at.com

话不多说,我先配置了如下:ti528资讯网——每日最新资讯28at.com

http {    # ... 其他全局配置 ...    upstream oss_backend {        server <OSS_ENDPOINT>; # OSS访问内网域名        keepalive 32; # 保持连接数,可按需调整    }    server {        listen 80; # 或者 listen 443 ssl; 如果使用HTTPS        server_name apitest.xxxx.com; # 域名        location /static {            proxy_pass http://oss_backend; # 代理到OSS            proxy_set_header Host $host;            proxy_set_header X-Real-IP $remote_addr;            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        }    }}

很常用的一个反向代理oss,然而当我?问对应oss里的静态资源的时候,错误提示:ti528资讯网——每日最新资讯28at.com

<Error><Code>NoSuchKey</Code><Message>The specified key does not exist.</Message><RequestId>613A63CA4771F3ddds602364</RequestId><HostId>apitest.xxxx.com</HostId><Key>static/test/1.png</Key><EC>0026-0000001</EC><RecommendDoc>https://api.aliyun.com/troubleshoot?q=0026-00000001</RecommendDoc></Error>

Nginx到OSS的代理工作正常,但请求的文件在OSS中不存在或路径不正确。仔细检查了下路径是对的,这说明我们Nginx写法有问题,到OSS那边的确是没有 static/test/1.png 这个文件,所以我们需要在Nginx里加个配置去掉 static 前缀。ti528资讯网——每日最新资讯28at.com

改正之后的具体配置如下:ti528资讯网——每日最新资讯28at.com

location /static {    rewrite ^/static(/.*)$ $1 break; # 去掉"/static"前缀    proxy_pass http://oss_backend;    proxy_set_header Host $host;    proxy_set_header X-Real-IP $remote_addr;    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}

我们使用 rewrite 指令去除请求路径中的/static前缀,然后再将处理后的路径传递给 proxy_pass 指令。ti528资讯网——每日最新资讯28at.com

这样,访问 https://apitest.xxxx.com/static/k1.png 时,Nginx就会将请求转发到 http://oss_backend/k1.png,OSS将查找Object键(Key)为 /k1.png 的文件。ti528资讯网——每日最新资讯28at.com

测试可行。ti528资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-82369-0.html配置Nginx访问阿里云OSS资源踩坑之路

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 架构见解:使用Instagram示例设计高效的多层缓存

下一篇: 什么?你告诉我 Kafka 会丢消息?

标签:
  • 热门焦点
  • 线程通讯的三种方法!通俗易懂

    线程通信是指多个线程之间通过某种机制进行协调和交互,例如,线程等待和通知机制就是线程通讯的主要手段之一。 在 Java 中,线程等待和通知的实现手段有以下几种方式:Object 类下
  • Rust中的高吞吐量流处理

    作者 | Noz编译 | 王瑞平本篇文章主要介绍了Rust中流处理的概念、方法和优化。作者不仅介绍了流处理的基本概念以及Rust中常用的流处理库,还使用这些库实现了一个流处理程序
  • 之家push系统迭代之路

    前言在这个信息爆炸的互联网时代,能够及时准确获取信息是当今社会要解决的关键问题之一。随着之家用户体量和内容规模的不断增大,传统的靠"主动拉"获取信息的方式已不能满足用
  • JVM优化:实战OutOfMemoryError异常

    一、Java堆溢出堆内存中主要存放对象、数组等,只要不断地创建这些对象,并且保证 GC Roots 到对象之间有可达路径来避免垃 圾收集回收机制清除这些对象,当这些对象所占空间超过
  • “又被陈思诚骗了”

    作者|张思齐 出品|众面(ID:ZhongMian_ZM)如今的国产悬疑电影,成了陈思诚的天下。最近大爆电影《消失的她》票房突破30亿断层夺魁暑期档,陈思诚再度风头无两。你可以说陈思诚的
  • 四年持续更迭坚持探索行业无人之境,HarmonyOS 4带来五大升级多项创新

    除了华为每年新发布的旗舰手机系列,上亿花粉更加期待鸿蒙系统每次的跨版本大更新。8月4日,HarmonyOS 4于HDC 2023正式发布,这也是该系统历经四年的再
  • 苹果、三星、惠普等暂停向印度出口笔记本和平板电脑

    集微网消息,据彭博社报道,在8月3日印度突然禁止在没有许可证的情况下向印度进口电脑/平板及显示器等产品后,苹果、三星电子和惠普等大公司暂停向印度
  • 三星推出Galaxy Tab S9系列平板电脑以及Galaxy Watch6系列智能手表

    2023年7月26日,三星电子正式发布了Galaxy Z Flip5与Galaxy Z Fold5。除此之外,Galaxy Tab S9系列平板电脑以及三星Galaxy Watch6系列智能手表也同期
  • 支持aptX Lossless无损传输 iQOO TWS 1赛道版发布限时优惠价369元

    2023年7月4日,“无损音质,声动人心”iQOO TWS 1正式发布,支持aptX Lossless无损传输,限时优惠价369元。iQOO TWS 1耳机率先支持端到端aptX Lossless无
Top