• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    해결됨

docker compose 사용시 프론트엔드에서 백엔드 연결

24.04.10 20:28 작성 조회수 107

0

프론트엔드를 nextjs를 사용하고, 백엔드는 nestjs를 사용중입니다.

 

nextjs에서 .env파일에 backend_url을 입력해놓고, nextjs에서 process.env.backend_url 을 통해서 사용중입니다.

 

docker compose를 사용하여 백엔드와 프론트엔드를 실행 시키면 같은 docker network에 붙어있고

compose의 프론트엔드에 environment에 backend_url을 backend이름으로 적었을 경우

backend url이 아닌 현재 url을 불러옵니다.

 

어디가 문제일까요?

답변 1

답변을 작성해보세요.

1

Jay님 안녕하세요, 데브위키입니다.

backend url이 아닌 현재 url을 불러온다는 부분이 백엔드 API로 호출하는 부분을 말씀하시는 것일까요?

nextjs에서 process.env.backend_url 을 통해서 사용하시는 부분이 잘 설정되어 있는지 한 번 확인해 보셔야 할 것 같습니다.

캡처 화면이나 코드를 보여주시면 더 구체적으로 도움을 드릴 수 있을 것 같습니다!

Jay님 안녕하세요.

애플리케이션을 실행해서 예식장 추가를 해보니 개발자 도구의 network 탭에서 보내는 API가

http://localhost/admin/wedding-backend/company/saveCompanyInfo 로 뜨고 404 에러가 발생하는 것 같습니다.

코드나 환경 변수 상에는 문제가 없어 보이기 때문에 프레임워크의 동작원리를 파악한 후에 문제를 해결해야 할 것으로 보입니다.

해당 부분이 코드 상에는 ${process.env.NEXT_PUBLIC_SERVER_URL}/company/saveCompanyInfo 로 작성되어 있는 것 같은데 실제 호출되는 주소가 조금 이상하네요.

 

먼저 개발하실 때는 fetch에서 주소를 어떻게 사용하셨었나요?