-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
SignatureDoesNotMatch: The request signature we calculated does not match the signature you provided. Check your key and signing method.
22.02.21 15:48 작성 조회수 3.66k
0
이미지 업로드 중 에러가 발생하여 질문드립니다.
제가 잘못된 정보를 제공했다고 하는 것 같은데
도저히 무엇이 잘못인지를 모르겠습니다...ㅠㅠㅠ
버킷 권한도 잘 설정한 것 같고
.env 파일과 vim으로도 액세스 키
복사하였는데도 그렇습니다....
코드도 그대로 한 것 같은데 무엇이 문제일까요?
AWS.config.update({
accessKeyId: process.env.S3_ACCESS_KEY_ID,
secretAccessKey: process.env.S3_SECRET_ACCESS_KEY,
region: "ap-northeast-2",
});
const upload = multer({
storage: multerS3({
s3: new AWS.S3(),
bucket: "react-nodebird-aws-s3",
key(req, file, cb) {
cb(
null,
`original/${Date.now()}_${path.basename(file.originalname)}`
);
},
}),
// 크기 제한을 지정
limits: { fileSize: 20 * 1024 * 1024 }, // 20MB
});
router.post(
"/images",
isLoggedIn,
upload.array("image"),
async (req, res, next) => {
// req.files 는 `image` 라는 파일정보를 배열로 가지고 있음.
res.json(req.files.map((v) => v.location));
}
);
에러 검색했을 때 액세스 키에 /나 %가 포함되어 그럴 수 있다하여 그 부분도 확인해보았으나 그대로입니다ㅜㅜㅜ
답변을 작성해보세요.
0
1004lucifer
2022.07.21
@huhu
업로드하는 파일명에 띄어쓰기 또는 특수문자 같은게 들어가지 않았는지 확인해 보세요.
업로드하는 파일명을 띄어쓰기 없는 순수 영어로된 파일로 테스트를 한번 해보세요.
https://icthuman.tistory.com/entry/AWS-Java-SDK-S3-File-upload
0
조현영
지식공유자2022.02.21
일단은 access_key나 secret 문제로 보이긴 합니다. 띄어쓰기같은 게 마지막이나 처음에 들어가진 않았는지 찾아보시고, 키를 새로 발급도 해서 교체해서도 해보세요.
답변 2