华为对象存储:nginx代理临时访问地址后访问报错:Authentication Failed

目录


场景

1、使用华为对象存储保存资源文件

2、使用华为对象存储原本的临时访问url可以正常访问资源

3、经过nginx代理后,访问资源会报错Authentication Failed


nginx配置

powershell 复制代码
location ~* /voice/* {
	proxy_pass https://xxx-test.obs.cn-south-1.myhuaweicloud.com;
	proxy_set_header Host $http_host;
	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header X-Forwarded-Proto $scheme;
	break;
}

异常表现

使用nginx代理的地址访问会报错


排查

从报错信息上看是身份认证存在问题

访问地址上存在认证信息的也就只有预签名参数了

华为对象存储生成临时访问地址时,会生成预签名参数,该签名除了时间参数之外,还和Host有关,也就是获取临时地址用于计算的签名使用的Host和验证签名使用的Host必须要一致


原因

nginx代理时,Host传递的ip和端口与生成预签名时所用的ip和端口不一致


解决

nginx配置Host参数,配置为minio临时访问地址的ip和端口

powershell 复制代码
location ~* /voice/* {
	proxy_pass https://xxx-test.obs.cn-south-1.myhuaweicloud.com;
	# Host参数设置为华为对象存储临时访问地址的域名和端口
	proxy_set_header Host xxx-test.obs.cn-south-1.myhuaweicloud.com:443;
	proxy_set_header X-Real-IP $remote_addr;
	# 代理的是https地址,这里使用X-Forwarded-Proto $scheme
	proxy_set_header X-Forwarded-Proto $scheme;
	break;
}

重启nginx后可以正常访问资源

相关推荐
不爱吃糖的程序媛7 小时前
ArkUI-X 6.0.0 Release发布
华为·harmonyos
w139548564229 小时前
Flutter跨平台组件集成框架鸿蒙化使用指南
flutter·华为·harmonyos
DARLING Zero two♡12 小时前
拒绝“环境劝退”:Llama-2-7b 在昇腾 NPU 上的工程化部署与深度故障排查实录
华为·llama·gpu算力
zhengxianyi51514 小时前
vue 首屏加载优化
前端·javascript·vue.js·nginx·gzip·expires·静态文件缓存
全栈工程师修炼指南14 小时前
Nginx | HTTP 反向代理:对上游服务端响应缓存流程浅析与配置实践
运维·网络协议·nginx·http·缓存
鸿蒙开发工程师—阿辉18 小时前
HarmonyOS 上下文的使用: 脱离 UI 怎么用 Context?
ui·华为·harmonyos
Justin_JGT18 小时前
flask+uwsgi+Nginx
python·nginx·flask
淡笑沐白18 小时前
Nginx 详细教程
运维·nginx
FrameNotWork19 小时前
HarmonyOS 教学实战(八):后台任务、Worker 与任务调度
华为·harmonyos
ts97720 小时前
Nginx + Vue History 模式刷新 404 的完整排查与解决方案
运维·vue.js·nginx