昨天遇到一个问题:app post请求oss的html资料 报错代码302,在阿里云官方查询oss不支持post请求,怎么办?第一种方式自建web;第二种方式nginx重定向
场景:app不能访问oss html资源,报错302
我采用的第二种方式解决的
配置app接口服务器的nginx,做重定向
例如
app调用的接口域名:api.xxx.com
oss绑定的域名:res.xxx.com
oss 静态资源https://res.xxx.com/h5/index.html
nginx配置重定向,app通过访问https://api.xxx.com/h5/index.html
修改api.xxx.com的nginx.conf配置,server中添加h5重定向
location ^~ /h5/ {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
#匹配h5
rewrite ^/h5/(.*)$ https://res.xxx.com/h5/$1 permanent;
}
nginx -t
nginx -s reload
app通过post访问https://api.xxx.com/h5/index.html 即可正常访问oss的h5下的静态资源index.html
https://res.xxx.com/h5/index.html
302问题解决了