[AWS] 리눅스 배포시 404 오류 (2)

김정연·2024년 1월 26일
0

aws

목록 보기
2/3

😎어제 404 오류 해결을 위해 팀원과 다시 만났고, 이것저것 시도해본 결과를 기록하려고 한다.
다시는 같은 오류를 반복하지 않기 위해 오늘은 혼자 다시 배포해서 오류를 다시 고쳐볼 예정이다.
내가 만났던 초기세팅 오류는 아래에 있다!

[AWS] 리눅스 배포시 404 오류 (1)

오늘의 문제점

  1. 모든 이미지 404 error
  2. post 404 오류
  3. 새로고침 404 오류와 url에 직접 주소를 적었을 때 오류

이미지 404 오류

프로젝트의 이미지 경로는 프론트가 아니라 백엔드이다. 혹시 데이터베이스에 경로가 잘못되었는지 확인했으나 디비는 문제없이 작동했다. 그렇다면 어디가 문제인지 고민해봤다.

배포 후 확인해보니 리액트로 경로를 지정해둔 이미지는 확인이 되지만 백엔드 이미지만 404 에러였다.
그래서 nginx에서 이미지의 경로를 직접적으로 적어줬다.

엔진엑스 편집기에 직접 들어가기 위해 cd nginx를 해줬다.

sudo nano /etc/nginx/nginx.conf

nano는 nginx 편집기를 쓸 수 있게 해주는 명령어다.

location /img/ 로 시작하는 경로는 내가 정한 이미지 URL로 매핑되게 설정해준다. 그리고 찾지 못한 경우 404를 반환하게 되어있다.

경로를 지정해줬는데도 404가 지속된다면 엔진엑스에 이미지 권한이 없어서 문제가 생길수도 있다. 나도 권한이 없다는 로그가 나와서 권한을 직접 주었다.

Image Image

post 404 오류

이미지 오류를 해결하고 로그인을 해보려고 하니 post 404 오류가 나왔다.
url을 확인해보니까 내가 스프링부트에서는 http:// xxxx/api/member/login으로 해놨는데
현재 화면에서는 api가 빠진채 요청하고 있었다.

그래서 env 파일의 baseURL에 /api를 넣고 다른 서비스단에서는 삭제했더니 작동이 잘 됐다!

새로고침 url에 직접 주소 적었을 때 404 오류

헤더를 통하지 않고 url을 직접 적거나, 새로고침하면 404 오류가 나왔다.
nginx는 /api/golf 같은 상대경로는 잘 인식하지만 url에 직접 입력하는 절대경로는 인식하지 못한다고 한다. 그래서 절대경로로 요청이 들어왔을 때 인식할 수 있도록 nginx에 설정을 추가했다.

엔진엑스 conf 파일에 직접 들어가서 경로를 지정해주니 세부페이지나 새로고침할 때 404 에러가 해결됐다!

✌️이제 시큐리티를 활성화 시키고 302 오류 해결만 남았다 야호!

profile
백엔드 개발자

0개의 댓글