미니 오 설치가 올바르게 작동하는지 확인하기 위해 기본 테스트를 작성하려고합니다. presigned POST policy을 사용하는 예제를 따르는 테스트를 작성했는데 제대로 작동하지만 presigned PUT의 작동 예제를 만들 수 없습니다. 다음과 같은 원인으로 403 Forbidden
이 발생했습니다.미니 오 디어로 putaged minio 결과가 403
cause="Signature does not match"
source="[objecthandlers.go:468:objectAPIHandlers.PutObjectHandler()]"
다음은 테스트 코드입니다. 미니 오 자바 스크립트 API를 약속했고 테이프를 테스트 장치로 사용하고 있습니다. POST 정책에 대한 비슷한 코드가 정상적으로 작동합니다.
편집 : 나는 나에게 가져가 잘못 뭐하는 거지
var minio = new Minio.Client({
endPoint: 'minioTest', // <- the problem
port: 9000,
secure: false,
accessKey: 'DONALDJTRUMP',
secretKey: 'DONALDJTRUMP'
});
test('should be able to PUT to a presigned URL', function(assert) {
const filename = 'signedtest2.txt';
return minio.presignedPutObjectAsync(bucket, filename, 60)
.then(url => {
assert.ok(url.length > 200, 'URL is non empty');
console.log(url);
return agent
.put(url)
.set('Content-Type', 'text/plain')
.attach('file', 'test/data/test.txt');
}).then(r => {
assert.ok(r.ok);
console.log(JSON.stringify(r, null, 2));
}).catch(err => {
assert.fail('got error', err);
console.log(err);
});
});
403가 금지 :이 문제의 원인이었다 중요한 부분은?