@TOC
問題背景
minio獲取私有鏈接秘鑰報(bào)錯(cuò)SignatureDoesNotMatch
<Error>
<Code>SignatureDoesNotMatch</Code>
<Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message>
<Key>836988913707909120.pdf</Key>
<BucketName>english</BucketName>
<Resource>836988913707909120.pdf</Resource>
<RequestId>17871A50E48C3ED3</RequestId>
<HostId>d81c53e4-6ba8-45a4-9918-764ac5fe0122</HostId>
</Error>
解決方案
minio獲取public訪問類型的時(shí)候,不用區(qū)分ip,但是使用private的時(shí)候會(huì)區(qū)分ip,MinioClient在設(shè)置endpoint時(shí)獲取私有鏈接,如果訪問使用nginx就會(huì)報(bào)以上錯(cuò)誤,minio官方也提出了解決方案,按照推薦配置,加入紅框的配置

最后,我的配置如下
#minio服務(wù)
upstream minioserver {
server 192.168.128.102:9007;
server 192.168.128.103:9007;
server 192.168.128.104:9007;
server 192.168.128.105:9007;
}
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-NginX-Proxy true;
# This is necessary to pass the correct IP to be hashed
real_ip_header X-Real-IP;
proxy_connect_timeout 300;
# To support websockets in MinIO versions released after January 2023
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
chunked_transfer_encoding off;
root /usr/share/nginx/html;
index index.html index.htm;
proxy_pass http://minioserver;
}
作為程序員第 247 篇文章,每次寫一句歌詞記錄一下,看看人生有幾首歌的時(shí)間,wahahaha ...


