网站首页 > 技术教程 正文
朋友那边有个需求要在阿里云OSS上绑定一个自定义的域名,但是此域名已经在DNS解析那边有了A记录,OSS绑定域名需要在DNS解析那边加个CNAME,这样就冲突了。但是朋友那边就一定要使用这个域名,想了想也只能通过Nginx的一个二级目录来反向代理这个OSS了。大佬们有更好的办法,欢迎评论区留意指点下。
话不多说,我先配置了如下:
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里的静态资源的时候,错误提示:
<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 前缀。
改正之后的具体配置如下:
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 指令。
这样,访问 https://apitest.xxxx.com/static/k1.png 时,Nginx就会将请求转发到 http://oss_backend/k1.png,OSS将查找Object键(Key)为 /k1.png 的文件。
测试可行。
猜你喜欢
- 2024-10-10 阿里云发布云数据中心专用处理器CIPU 猜猜能干点啥?
- 2024-10-10 如何在一分钟内实现微服务系统下的架构可视化
- 2024-10-10 记一次8小时惊心动魄的服务器+网站升级
- 2024-10-10 新浪微博上云实践:极端流量下的峰值应对与架构挑战
- 2024-10-10 微服务架构可视化平台实践(微服务架构设计)
- 2024-10-10 玩机小技巧:阿里云的免费SSL证书快到期了,怎样正确续签呢?
- 2024-10-10 阿里云服务器无公网如何上网?(阿里云的大量公网ip来自哪儿)
- 2024-10-10 阿里云发布CIPU,云计算进入第三阶段
- 2024-10-10 学好Nginx,走遍天下都不怕(学好普通话走遍天下都不怕谁说的)
- 2024-10-10 干货:电商行业的上云最佳实践(云电商运营)
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)