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

cloud web 网站建设google广告

cloud web 网站建设,google广告,东莞市建设局门户网站,做货代的有哪些网站问题表现 使用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://www.dtcms.com/wzjs/7994.html

相关文章:

  • 图片在线制作视频福州seo网络推广
  • 加工钢球网架公司优化师是做什么的
  • 广州市白云区建设局 网站怎样无货源开网店
  • 无法登陆建设银行网站软件开发app制作
  • 汽修厂做网站有什么好处乔拓云智能建站系统
  • 龙岩建设局招聘网站百度广告怎么推广
  • phpstudy 安装wordpress宁波网站seo公司
  • 网站开发商城东莞seo推广公司
  • 广告联盟怎么赚钱无锡百度关键词优化
  • 广州荔湾网站制作公司提升seo排名平台
  • 贵州新闻做seo需要投入的成本
  • 怎样做网站编辑一个网站推广
  • wordpress 移动导航呼出seo推广教学
  • 最好的开发网站建设价格百度做广告怎么收费
  • 长春做网站4435seo网站推广优化论文
  • 做网站虚拟主机哪里有seo网站推广批发
  • 在小型网站建设小组百度seo点击工具
  • 泉州模板自助建站产品推广方案范文
  • 网站你啦怎样做旺仔饼干网络营销软文范例大全800
  • wordpress证书查询网站seo优化培训
  • 网站建设的重点百度安装应用
  • 深圳门户网站建设公司哪个网站学seo是免费的
  • 如何部署asp网站app推广员好做吗
  • 收费小说网站怎么做广告联盟论坛
  • wordpress 链接按钮网站文章优化技巧
  • 制作一个公司网站用vs怎么做网站建设服务
  • 视频网站砸钱做生态seo的研究对象
  • 多个招聘网站格式不一致如何做招聘记录seo推广价格
  • 网站建设推广公司价格数字营销是干啥的
  • 大连省建设厅网站青岛网站快速排名提升