当前位置: 首页 > wzjs >正文

徽与章网站建设宗旨青岛做网站青岛做网站

徽与章网站建设宗旨,青岛做网站青岛做网站,怎样创造自己的网站,阿里云服 WordPress问题表现 使用AWS SDK for Java 1.x访问S3,已经确认文件存在,且具有权限,仍然出现403 Forbidden应答。 解决方法 升级到AWS SDK for Java 2.x。 问题原因 AWS签名机制严格依赖请求的精确路径格式,任何URI的差异(如…

问题表现

使用AWS SDK for Java 1.x访问S3,已经确认文件存在,且具有权限,仍然出现403 Forbidden应答。

解决方法

升级到AWS SDK for Java 2.x。

问题原因

AWS签名机制严格依赖请求的精确路径格式,任何URI的差异(如 // 与 /%2F )都会导致签名校验失败。AWS SDK for Java 1.x版本中,当资源路径 resourcePath 以斜杠开头时(如 /foo/... ),与 endpoint 拼接后会产生双斜杠 // 。SDK内部会将其转义为 /%2F ,导致实际请求路径与签名计算的路径不一致,触发 SignatureDoesNotMatch 错误。

关键代码分析

在AWS SDK for Java 1.x版本中,当调用 httpRequestFactory.create(request, options) 方法时,URL的生成过程涉及路径拼接逻辑与双斜杠转义机制,具体流程如下:

@Overridepublic HttpRequestBase create(final Request<?> request,final HttpClientSettings settings)throwsFakeIOException {URI endpoint = request.getEndpoint();String uri;// skipAppendUriPath is set for APIs making requests with presigned urls. Otherwise// a slash will be appended at the end and the request will failif (request.getOriginalRequest().getRequestClientOptions().isSkipAppendUriPath()) {uri = endpoint.toString();} else {/** HttpClient cannot handle url in pattern of "http://host//path", so we* have to escape the double-slash between endpoint and resource-path* into "/%2F"*/uri = SdkHttpUtils.appendUri(endpoint.toString(), request.getResourcePath(), true);}String encodedParams = SdkHttpUtils.encodeParameters(request);/** For all non-POST requests, and any POST requests that already have a* payload, we put the encoded params directly in the URI, otherwise,* we'll put them in the POST request's payload.*/boolean requestHasNoPayload = request.getContent() != null;boolean requestIsPost = request.getHttpMethod() == HttpMethodName.POST;boolean putParamsInUri = !requestIsPost || requestHasNoPayload;if (encodedParams != null && putParamsInUri) {uri += "?" + encodedParams;}final HttpRequestBase base = createApacheRequest(request, uri, encodedParams);addHeadersToRequest(base, request);addRequestConfig(base, request, settings);return base;}

假设原始请求参数为

Endpoint: http://127.0.0.1/mybucket
ResourcePath: /foo/bar/... (以斜杠开头)

SdkHttpUtils.appendUri() 将 endpoint 与 resourcePath 拼接为:

http://127.0.0.1/mybucket//foo/bar/...

注意中间的 // 双斜杠。由于第三个参数 escapeDoubleSlash=true ,SDK会将双斜杠转义为 /%2F :

http://172.24.152.73:80/mybucket/%2Ffoo/bar/...

生成的URI变为转义后的路径,而计算签名时使用的路径是未经转义的原始路径 /mybucket//foo/bar/... ,导致签名不匹配。


文章转载自:

http://nyKDYgyn.qgdsd.cn
http://xZqNhqGK.qgdsd.cn
http://sSZRwcbY.qgdsd.cn
http://22j9F0L6.qgdsd.cn
http://OnyuqFrU.qgdsd.cn
http://ayiUPwY2.qgdsd.cn
http://iWzQXqEx.qgdsd.cn
http://t5HHzGnc.qgdsd.cn
http://zA9DM9kt.qgdsd.cn
http://64CnxVFb.qgdsd.cn
http://c775occt.qgdsd.cn
http://9LSk3IQe.qgdsd.cn
http://d3iwoAyd.qgdsd.cn
http://qYc0irWU.qgdsd.cn
http://qdkEE498.qgdsd.cn
http://DPJjq0Vw.qgdsd.cn
http://gEsdaZBv.qgdsd.cn
http://4GC1eMhz.qgdsd.cn
http://bSEwJDdn.qgdsd.cn
http://uPR3pfUT.qgdsd.cn
http://exRQqqq1.qgdsd.cn
http://lwFjgF96.qgdsd.cn
http://chskT6DE.qgdsd.cn
http://byAFFVGY.qgdsd.cn
http://njoel0Mo.qgdsd.cn
http://dCy30q8G.qgdsd.cn
http://QdnSkxlk.qgdsd.cn
http://RjcZlP57.qgdsd.cn
http://Y2zWGwIq.qgdsd.cn
http://utrFpNhB.qgdsd.cn
http://www.dtcms.com/wzjs/623749.html

相关文章:

  • 写一个网站需要什么技术哪里有放网站的免费空间
  • 谷歌seo优化北京网站的优化
  • 工会 网站 建设出名的网络公司有哪些
  • 做网站商城需要申请商标吗做网站推广被骗
  • 保定网站维护做房产的一般用哪个网站
  • 网站主题旁边的图标怎么做的所有网站打不开
  • 怎么键卖东西的网站网站功能模块表格
  • app开发网站模板网站申请页面
  • 免费建设个人手机网站江苏省住房与城乡建设厅网站首页
  • 更换wordpress后台域名seo外链工具软件
  • 济南历山北路网站建设wordpress 计数器
  • 自建房外观设计网站推荐wordpress 主题 搜索引擎
  • 怎么自己建一个网站吗百度一下就知道
  • 有什么做同城的网站哈工大 网站开发
  • 哪里有微信网站开发公司精准获客
  • 怎么样可以自己做网站网站 掌握
  • 网站制作费会计分录怎么做餐饮公司介绍模板
  • 济南网站建设联 系小七北京网站的建立的
  • 福建省建设监理公司网站网站飘窗 两学一做
  • 百度网站的总结asp网站开发软件
  • 衡水seo_衡水网站建设-燕丰收seo优化裤子关键词
  • 广州做网站哪个公司做得好17做网店
  • 上海新建设建筑设计有限公司网站时间轴网站模板
  • 企业网站建设费怎么入账哪个公司做网站比较好
  • 电脑记事本做网站文件外链
  • 滁州58同城网站怎么做百度广告推广平台
  • 用vs session做网站导航网址大全
  • ppt网站网站设计与网页制作
  • 违法网站开发者学编程哪家机构最好
  • 网站定制那个好有没有专业做挂的网站吗