致命错误:发生错误(SignatureDoesNotMatch)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了致命错误:发生错误(SignatureDoesNotMatch)相关的知识,希望对你有一定的参考价值。

我正在尝试使用GitLabs DevOps功能来构建,测试和部署Vue.js应用程序到S3。我可以在我的本地机器上部署应用程序。但是当设置.gitlab-ci.yml文件以部署到S3时,我收到此错误。

致命错误:调用ListObjects操作时发生错误(SignatureDoesNotMatch):我们计算的请求签名与您提供的签名不匹配。检查您的密钥和签名方法。错误:作业失败:退出代码1

我的.gitlab-ci.yml文件就是这个......

variables:
    AWS_ACCESS_KEY_ID: "****"
    AWS_SECRET_ACCESS_KEY: “****”

build site:
    image: node:8.8.1
    stage: build
script:
    - npm install --progress=false
    - npm run build
artifacts:
    expire_in: 1 week
    paths:
        - dist

cache:
    paths:
        - node_modules/

all_tests:
    image: node:8.8.1
    stage: test
    script:
        - npm install
        - npm run test

deploy:
    environment: production
    image: python:latest
    script:
        - pip install awscli==1.11.89
        - aws s3 sync --acl public-read --delete dist/ s3://bucket

我的桶是公开的,也有这个政策......

{
"Version": "2012-10-17",
"Id": "Policy1524147868577",
"Statement": [
    {
        "Sid": "****",
        "Effect": "Allow",
        "Principal": "*",
        "Action": "s3:*",
        "Resource": "arn:aws:s3:::bucket"
    }
]
}

我不知道为什么它在本地工作而不是在GitLab上工作。我正在学习这样做,我想做得对。如果您有任何关于我或其他任何可能阅读此内容的信息,请告知我们。

提前致谢

答案

确保你正确地粘贴了这个秘密。我遇到了这个错误,因为当我从excel文件中复制秘密时,它会删除某些特殊字符。这对您来说可能类似。

同样,正如你所知,GitLab提供了一个很好的教程,可以在这里安全地执行此操作:https://about.gitlab.com/2016/08/26/ci-deployment-and-environments/

以上是关于致命错误:发生错误(SignatureDoesNotMatch)的主要内容,如果未能解决你的问题,请参考以下文章

致命错误:发生错误(SignatureDoesNotMatch)

致命错误:调用 HeadObject 操作时发生错误(404):键“”不存在

SQL 2005 用IP连接时 提示发生内部连接致命错误 这是为啥?我重装了SQL server2005后还是这样 求解答

“发生致命的Javascript错误。你想发一个错误报告吗?“

创建 TLS 客户端凭据时发生致命错误。内部错误状态为 10013

启动错误:无法创建 Java 虚拟机。发生致命异常