개발자

Nodejs 웹서버 배포 도메인 접속 불가현상

2024년 02월 11일조회 107

Nodejs fastify 프레임워크를 이용하여 nextjs 앱을 배포하려고 했습니다. 그런데 배포를 해도 서버 아이피주소가 아닌 로컬호스트만 접속이 되는데 왜 그러는 걸까요??

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

답변 2

!helloworld님의 프로필 사진

개발이전에 네트워크 개념을 좀 익히셔야할거 같긴한데요..

백승훈님의 프로필 사진

제가 보기에도 어떤게 안되는지 어떤 부분을 진행하는 것인지 부터 했갈리는 듯 합니다. Node.js는 오픈 소스 JavaScript 엔진인 크롬 V8에 비동기 이벤트 처리 라이브러리인 libuv를 결합한 플랫폼으로 Next와는 관계가 없습니다. Fastify의 경우 Express와 같은 Nodejs 환경 기반 백엔드 프레임워크 입니다. Next.js는 프론트엔드에서 사용하는 리액트 기반 프레임워크이며 자체적인 Api나 서버리스등을 통해 풀스텍과 유사한 구성이 가능하게 만들어진 프레임워크입니다. 배포는 이러한 프로젝트를 실제 네트워크 환경에 올리는 작업입니다. 방식은 수만가지가 있습니다. 질문자님이 기초적인 개념부터 다시 잡아나가시는게 좋을 것 같습니다. 1. 배포는 물리서버의 배포인가 / AWS와 같은 클라우드인가 2. 배포의 간략화를 위해 Vercel, Github-page등을 썻으면 어떤 방식, 설정, 셋팅으로 진행하였는가 3. 작성하신 배포가 프론트엔드인가 백엔드인가 4. 배포를 하였다면 도메인을 연결했는가? DNS설정등을 통해 주소 및 IP를 연결했는가 등등 현재 올려놓으신 질문내용을 보면 단순히 인터넷의 인강을 보고 클론코딩을 진행하신 것 같습니다. 네트워크 기초 부분을 공부해보시길 추천드립니다.

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

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

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 02월 11일

먼저, 웹 애플리케이션은 서버에서 로컬로 개발하고 테스트 한 뒤, 공개 인터넷에 배포해야 합니다. 그런데 Node.js 애플리케이션이 외부 네트워크에서 접근 가능하게 하려면 서버를 설정할 때 'localhost' 보다는 외부에서 접근 가능한 IP 주소나 호스트명을 명시해야 합니다. Fastify를 예로 들어 설명하겠습니다. 서버를 생성할 때 아래와 같이 코드에 '0.0.0.0'을 추가해 보세요. ```javascript fastify.listen(3000, '0.0.0.0', function (err, address) { if (err) { fastify.log.error(err) process.exit(1) } fastify.log.info(`server listening on ${address}`) }) ``` '0.0.0.0'은 모든 네트워크 인터페이스의 IPv4 주소를 나타내며 이는 어느 IP 주소에서도 서버에 접속이 가능함을 의미합니다. 두 번째 문제는 방화벽 설정일 수 있습니다. 호스팅 중인 서버가 요청한 포트 (예: 3000) 에서 들어오는 연결을 허용하도록 방화벽을 구성하는지 확인하세요. 마지막으로 DNS 설정입니다. 도메인을 사용하려면 정확한 DNS 설정이 필요합니다. 도메인 제공자에서 DNS 레코드를 적절히 설정하여 도메인 이름이 실제 서버의 IP 주소로 바뀔 수 있도록 해야 합니다. 위 세 가지 사항을 점검해 보시고 문제가 계속되면 추가 상세 정보를 알려주시면 좋을 것 같습니다.

목록으로

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