2

我设置了 Minio 服务器,一切似乎都在正常运行。

对于我的 CLI,我的 config.json 中有这个:

    "myalias": {
        "url": "https://myurl",
        "accessKey": "myaccesskey",
        "secretKey": "mysecretkey",
        "api": "S3v4",
        "lookup": "auto",
        "Region": "us-east-1"
    }

但是当我尝试上传文件时,我得到了这个:

# mc cp test.txt myalias/stuff/
 0 B / 19 B [                                                       ]  0.00% 
mc: <ERROR> Failed to copy `test.txt`. The request signature we 
calculated does not match the signature you provided. Check your key and 
signing method.

如果我将 config.json 中的 api 更改为:

"api": "S3v2"

有用:

# mc cp test.txt myalias/stuff/
test.txt:    19 B / 19 B [==============================] 100.00% 193 B/s 0s

我的问题是,我可以将 Minio 配置为使用版本 4 签名验证而不是版本 2 吗?minio 不应该默认使用版本 4 吗?

4

2 回答 2

2

你能发布你的minio和mc的版本吗?Minio 应该同时支持 s3v4 和 s3v2。您的访问密钥和密钥有什么不同吗?

于 2018-09-28T01:10:10.547 回答
1

原来这是我们的 IT 人员设置的 NGINX 的问题。这些链接中概述了问题和解决方案:

https://github.com/minio/minio/issues/5298

https://docs.minio.io/docs/setup-nginx-proxy-with-minio

tl;博士:

经过数小时的研究,我意识到我错过了我设置的两个反向代理配置的 Host 指令。

为了完整起见,我错过了那些:

Nginx

location / {
    proxy_set_header Host            $host;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_pass http://minio;
}

球童档案

proxy / localhost:9898 {
      transparent
}
于 2018-10-01T20:06:57.693 回答