当前位置: 首页 > 工具软件 > WE > 使用案例 >

阿里云对象存储上传或复制文件时报The request signature we calculated does not match the signature you provided...

宇文峰
2023-12-01

阿里云对象存储上传或复制文件时报 The request signature we calculated does not match the signature you provided. Check your key and signing method.

 WARN [qtp691614805-21] oss.logException(62) |[Server]Unable to execute HTTP request: The request signature we calculated does not match the signature you provided. Check your key and signing method.
[ErrorCode]: SignatureDoesNotMatch
[RequestId]: 610A364F375B5337364D95DA
[HostId]: -contentpayment-image-in-test.oss-cn-hangzhou.aliyuncs.com
[ResponseError]:
<?xml version="1.0" encoding="UTF-8"?>
<Error>
  <Code>SignatureDoesNotMatch</Code>
  <Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message>
  <RequestId>610A364F375B5337364D95DA</RequestId>
  <HostId>-contentpayment-image-in-test.oss-cn-hangzhou.aliyuncs.com</HostId>
  <OSSAccessKeyId>LTAIqg34bUguEM4j</OSSAccessKeyId>
  <SignatureProvided>kTf9PS/dzLKh0jaf+rlrUE+Eles=</SignatureProvided>
  <StringToSign>PUT


Wed, 04 Aug 2021 06:40:16 GMT
x-oss-copy-source:/-contentpayment-image-in-test//2021/M08/D04/H14/29.png
/-contentpayment-image-in-test/2021/M08/D04/H14/1_tgimage_5346399237194004839_1628059212194.png</StringToSign>
  <StringToSignBytes>50 55 54 0A 0A 0A 57 65 64 2C 20 30 34 20 41 75 67 20 32 30 32 31 20 30 36 3A 34 30 3A 31 36 20 47 4D 54 0A 78 2D 6F 73 73 2D 63 6F 70 79 2D 73 6F 75 72 63 65 3A 2F 74 68 65 70 61 70 65 72 2D 63 6F 6E 74 65 6E 74 70 61 79 6D 65 6E 74 2D 69 6D 61 67 65 2D 69 6E 2D 74 65 73 74 2F 2F 32 30 32 31 2F 4D 30 38 2F 44 30 34 2F 48 31 34 2F 31 5F 74 67 69 6D 61 67 65 5F 32 31 34 30 35 31 33 38 30 30 39 38 32 37 33 32 36 36 38 5F 31 36 32 38 30 35 38 35 32 37 32 32 39 2E 70 6E 67 0A 2F 74 68 65 70 61 70 65 72 2D 63 6F 6E 74 65 6E 74 70 61 79 6D 65 6E 74 2D 69 6D 61 67 65 2D 69 6E 2D 74 65 73 74 2F 32 30 32 31 2F 4D 30 38 2F 44 30 34 2F 48 31 34 2F 31 5F 74 67 69 6D 61 67 65 5F 35 33 34 36 33 39 39 32 33 37 31 39 34 30 30 34 38 33 39 5F 31 36 32 38 30 35 39 32 31 32 31 39 34 2E 70 6E 67 </StringToSignBytes>
</Error>

com.aliyun.oss.OSSException: The request signature we calculated does not match the signature you provided. Check your key and signing method.
[ErrorCode]: SignatureDoesNotMatch
[RequestId]: 610A364F375B5337364D95DA
[HostId]: contentpayment-image-in-test.oss-cn-hangzhou.aliyuncs.com
[ResponseError]:
<?xml version="1.0" encoding="UTF-8"?>
<Error>
  <Code>SignatureDoesNotMatch</Code>
  <Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message>
  <RequestId>610A364F375B5337364D95DA</RequestId>
  <HostId>-contentpayment-image-in-test.oss-cn-hangzhou.aliyuncs.com</HostId>
  <OSSAccessKeyId>LTAIqg34bUguEM4j</OSSAccessKeyId>
  <SignatureProvided>kTf9PS/dzLKh0jaf+rlrUE+Eles=</SignatureProvided>
  <StringToSign>PUT


Wed, 04 Aug 2021 06:40:16 GMT
x-oss-copy-source:/contentpayment-image-in-test//2021/M08/D04/H14/29.png
/-contentpayment-image-in-test/2021/M08/D04/H14/4.png</StringToSign>
  <StringToSignBytes>50 55 54 0A 0A 0A 57 65 64 2C 20 30 34 20 41 75 67 20 32 30 32 31 20 30 36 3A 34 30 3A 31 36 20 47 4D 54 0A 78 2D 6F 73 73 2D 63 6F 70 79 2D 73 6F 75 72 63 65 3A 2F 74 68 65 70 61 70 65 72 2D 63 6F 6E 74 65 6E 74 70 61 79 6D 65 6E 74 2D 69 6D 61 67 65 2D 69 6E 2D 74 65 73 74 2F 2F 32 30 32 31 2F 4D 30 38 2F 44 30 34 2F 48 31 34 2F 31 5F 74 67 69 6D 61 67 65 5F 32 31 34 30 35 31 33 38 30 30 39 38 32 37 33 32 36 36 38 5F 31 36 32 38 30 35 38 35 32 37 32 32 39 2E 70 6E 67 0A 2F 74 68 65 70 61 70 65 72 2D 63 6F 6E 74 65 6E 74 70 61 79 6D 65 6E 74 2D 69 6D 61 67 65 2D 69 6E 2D 74 65 73 74 2F 32 30 32 31 2F 4D 30 38 2F 44 30 34 2F 48 31 34 2F 31 5F 74 67 69 6D 61 67 65 5F 35 33 34 36 33 39 39 32 33 37 31 39 34 30 30 34 38 33 39 5F 31 36 32 38 30 35 39 32 31 32 31 39 34 2E 70 6E 67 </StringToSignBytes>
</Error>

    at com.aliyun.oss.common.utils.ExceptionFactory.createOSSException(ExceptionFactory.java:99)
    at com.aliyun.oss.internal.OSSErrorResponseHandler.handle(OSSErrorResponseHandler.java:72)
    at com.aliyun.oss.common.comm.ServiceClient.handleResponse(ServiceClient.java:242)
    at com.aliyun.oss.common.comm.ServiceClient.sendRequestImpl(ServiceClient.java:124)
    at com.aliyun.oss.common.comm.ServiceClient.sendRequest(ServiceClient.java:67)
    at com.aliyun.oss.internal.OSSOperation.send(OSSOperation.java:92)
    at com.aliyun.oss.internal.OSSOperation.doOperation(OSSOperation.java:140)
    at com.aliyun.oss.internal.OSSOperation.doOperation(OSSOperation.java:111)
    at com.aliyun.oss.internal.OSSObjectOperation.copyObject(OSSObjectOperation.java:324)
    at com.aliyun.oss.OSSClient.copyObject(OSSClient.java:557)
    at com.aliyun.oss.OSSClient.copyObject(OSSClient.java:551)
    at cn.utils.AliyunOssContentPayUtils.copyFileByUrl(AliyunOssContentPayUtils.java:539)
    at cn.controller.pen.PpController.saveAndPublish(PpController.java:235)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:860)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
    at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:206)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
    at cn.sso.client.session.PermissionFilter.doFilter(PermissionFilter.java:232)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
    at org.jasig.cas.client.util.AssertionThreadLocalFilter.doFilter(AssertionThreadLocalFilter.java:40)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
    at org.jasig.cas.client.util.HttpServletRequestWrapperFilter.doFilter(HttpServletRequestWrapperFilter.java:62)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
    at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:196)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
    at cn.sso.client.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:111)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
    at cn.sso.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:131)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1629)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:219)
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
    at org.eclipse.jetty.server.Server.handle(Server.java:530)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:347)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:256)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)
    at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:382)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:708)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:626)
    at java.lang.Thread.run(Thread.java:748)

解决方法:

判断文件路径是否是不包含Bucket名称的完整路径(要带发布目录)

亲测有效,欢迎补充

 类似资料: