presigned url은 주로 HTTP 요청을 통해 파일을 업로드하거나 다운로드 하기 위해 사용된다. 이 URL은 API 호출에 사용된다.
presigned post 역시 파일 업로드 시에 사용되는 것으로 html form을 통해 파일 데이터와 함께 추가 필드를 서버로 전송할 때 사용된다.
나는 열심히 presigned post를 생성하는 코드를 만들었다.

post man Test에도 성공했다.
'음! 잘 생성되었으니 url에 들어가보아야겠다.' 하고 들어갔더니

이게 뭐고

웬 signature가 맞지 않는다는 에러가 발생했단다...
??? env 파일은 건들지도 않았고, AWS SDK를 import해서 사용했기 때문에 별 문제가 없어야하는데,,, 왜그럴까
그래서 코드도 고쳐보고, AWS S3 버킷도 들어가보고,,,2시간을 허비했다...

커피를 마시고 정신이 든 나는 생성된 url로 파일 업로드 테스트를 해보았다.
(중간에 파일 이름 잘못 적어서 또 고생했다. 오늘 Whyrano)

???? 잘 올라갔다...
멍때리면서 생각했다. 뭐,,지,,,?
그러고선 다시 에러 메시지를 들여다 보았다.

GET?
아!!!

꺄항
웹 브라우저에서 Presigned URL로 직접 접근하면, GET 요청이 발생한다.
Presigned Post URL의 경우, 주로 POST 요청으로 설정되기 때문에,
GET 요청으로 접속하면 서버에서 지원하지 않는 메서드라는 오류가 발생할 수 있는 것...
POST URL을 만들어놓고 냅다 GET 요청을 날렸으니 서버도 당황할만했다...

앞으로는 정신을 똑바로 차리고 코딩을 해보자.