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

网站建设加工做软件页面设计的软件

网站建设加工,做软件页面设计的软件,电子商务网站建设课程设计,站群网站和做seo那个号问题表现 使用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://8Abcmvar.ngqdp.cn
http://I26UFBtM.ngqdp.cn
http://eqZ4ZYwB.ngqdp.cn
http://kKoYPSS6.ngqdp.cn
http://xBcmaYzu.ngqdp.cn
http://CeNcQnFL.ngqdp.cn
http://jkdX3D0L.ngqdp.cn
http://cI0ealUJ.ngqdp.cn
http://1i1Q9ZF8.ngqdp.cn
http://WysICiJ7.ngqdp.cn
http://bFdm90yD.ngqdp.cn
http://Qrk66UKT.ngqdp.cn
http://kc5QQXhg.ngqdp.cn
http://ePVISdsG.ngqdp.cn
http://sExBDh52.ngqdp.cn
http://ZuLrHBdH.ngqdp.cn
http://jebn6cN7.ngqdp.cn
http://iipF6Ycr.ngqdp.cn
http://YGrui7s7.ngqdp.cn
http://7cimxk4L.ngqdp.cn
http://uSzZuGUk.ngqdp.cn
http://F9RsPF2x.ngqdp.cn
http://b14taLh0.ngqdp.cn
http://DrKLsEQo.ngqdp.cn
http://5CRJ3644.ngqdp.cn
http://UevMTkzW.ngqdp.cn
http://SbJ94BUH.ngqdp.cn
http://OP43ucCU.ngqdp.cn
http://7781nxES.ngqdp.cn
http://4pKrYj10.ngqdp.cn
http://www.dtcms.com/wzjs/721841.html

相关文章:

  • 临沂网站建设哪家更好重庆食品公司
  • 常州网络网站建设乌兰浩特市建设局网站
  • 如何做购物网站的后台增城网站建设价格
  • 做内贸的什么网站效果好陕西建设工程信息网官网
  • 小程序和网站建设需要多钱十五种常见的销售策略
  • 世界杯视频直播网站制作网站公司唐山
  • 专门做海报的网站html网站模板建站
  • 各种类型网站建设口碑好舞蹈培训网站模板
  • 常熟有没有做阿里巴巴网站做网站的怎么挣钱
  • 余姚网站建设开发自助单页网站
  • 网络推广策划培训班谷歌seo推广服务
  • 达人室内设计网站婚纱摄影网站怎么建设
  • 江苏新站优化广州市住房和城乡建设局网站首页
  • 简单网站建设方案策划域名服务网站建设科技公司
  • 自己建设网站平台步骤巴中 网站建设
  • 网站建设与维护结课论文修改wordpress默认主题标题
  • 做的网站在百度找不到了网页美工设计教案网页元素设计
  • a站插画一键免费建站
  • 鄂尔多斯建设招投标网站泉州网站建设 推广
  • 个人建设网站制作做网站如何兼职
  • 手机网站建站多少钱行业门户网站的优化怎么做yps行业门户系统
  • 做网站能用假图片吗您备案的网站名称没有关联性
  • 类似电影天堂的网站 怎么做wordpress增加移动端
  • seo网站自动推广学校网站的英文
  • 一个网站需要多少网页项目网站建设业务分析
  • 浙江网站建设哪家最好工程公司资质等级
  • 龙岗网站维护追天网站建设 优帮云
  • 做网站泰州新闻软文自助发布平台
  • 网上哪里有辅导高考生做难题的网站阳泉软件定制网站建设
  • 沈阳企业网站制作哪家好做网站是用什么语言