개발자

스프링부트 로컬 환경에서는 되지만, 배포 환경에서 404 에러가 발생합니다.

1월 15일조회 78

안녕하십니까 선배님들. 스프링부트 API 서버를 개발하고 배포하였는데 다음과 같은 문제가 발생하였습니다. 로컬 환경에서는 잘 작동하지만, 배포 환경에서 특정 POST 요청에서 404에러가 발생하는 문제였습니다. 해당 요청은 JSON을 반환하는 컨트롤러입니다. 서핑을 하던 중, Spring Security의 CSRF의 문제일 수도 있다고 하던데 저는 현재 Security를 사용하지도 않고 다른 POST 요청은 잘 응답하여 뭐가 원인인지 잘 모르겠습니다. 아래는 application.yaml과 Controller 코드입니다. 감사합니다. // application.yaml spring: application: name: tika servlet: multipart: max-file-size: 50MB max-request-size: 50MB

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

박정환님의 프로필 사진

404라는 것은 URL을 아예 찾지 못했다는 뜻이죠. uploadFile 펑션 내에 log를 찍어보실때 나오지 않는다면, 클라에서 서버로 전달은 되지만 서버에서 동작이 안되는 겁니다. 그러면서 default response로 404를 떨구게 되겠죠. 로컬 환경에선 아무 이상이 없으나 배포 환경에서 서버단에서 404가 발생한다면 원인이 몇가지 추정됩니다. 아주 단골적인 문제이죠. 일단 CORS (Cross Origin Resource Sharing) 을 의심해 보시죠. 클라단과 서버단이 쓰는 도메인이 같은지 IP로 쓰고 있지는 않은지요. IP로 쓴다면 클라단과 서버단에 config에 해당 IP들을 인식할 수 있도록 해주어야 합니다. Nginx 예를 들면 Access-Control-Allow-Origin 이죠. Spring 단에서도 Config등에 Allow Origin 처리해줘야 합니다. 그렇게 한다면 CORS가 해결되어 통신이 정상 가능할 것입니다. 확인해보시기 바라겠습니다.

profile picture

익명

작성자

1월 16일

선배님 신경써주셔서 감사합니다. 원인은 Docker image 캐싱 문제였습니다 ㅠㅠ 좋은 하루 보내세요

박정환님의 프로필 사진

박정환

HecatonAI Lab Leader1월 16일

네, 해결하셔서 다행입니다. CORS가 아니어서 더 다행이네요. 수고하세요.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!