React 만들었는데 외부 접속이 안됩니다.

조회수 4508회

webpack 설치 안하고, Create-React-App 으로 만들었고,

Express 연동 시켜놓은 상태입니다.

React(클라), Express(서버) 둘 다 실행 하고나서

외부 접속 (모바일 LTE나 외부 PC에서 접속)하려니 안되는데..

[ Invalid Host Header ] 라고 나옵니다.

포트는 3000번대로 방화벽도 열어놓고 했는데... 열려있는 상태입니다.

... 안되는 이유가 뭔가요?

구글 검색해보니 webpack 사용해서 proxy 쓰는거 해보려고 해도 에러가 나서..

아시는분 있으신지 궁금합니다!

혹시.. react를 꼭 빌드 후에 배포시켜야 하나요?

현재는 npm start를 사용해 작동 여부만 확인했고, localhost:3000 잘 접속됩니다.

(proxy : { {웹 주소}:50000 } 써서 50000번대 포트로 프록시도 연결해놓은 상태)

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 외부 접속이 뭐에요?? 엽토군 2019.8.27 08:45
  • 음.. 서버 개발 중인 컴퓨터(로컬)이 아니라 외부 모바일 (LTE환경)이나 PC에서 접속하는 걸 말합니다. 알 수 없는 사용자 2019.8.27 15:40
  • 궁금한게.. react를 꼭 빌드, 배포 시켜야 외부 접속이 가능해지나요?? 알 수 없는 사용자 2019.8.27 15:44
  • 아직 react에 대한 개념이 잡히지 않아서 그렇습니다 ㅜ 알 수 없는 사용자 2019.8.27 15:44

2 답변

  • React는 껍데기일 뿐입니다. React로 만들었든 발로 만들었든 어떤 웹 앱을 LTE망에서 접속해 보고 싶으시다면 해당 애플리케이션을 공개 웹서버에 배포하셔야 해요.

    실무적인 의미에서의 웹서버란 말하자면...

    1. 어떤 컴퓨터가 있고 24시간 켜져 있습니다.
    2. 이 컴퓨터는 특정 IP에 연결되어 있고 네트워크 설정상 80번 포트가 열려 있습니다.
    3. 그 컴퓨터에는 nginx나 apache라는 게 깔려 있고 24시간 실행되고 있는데, 이놈(들)이 하는 일은, 특정 폴더의 특정 파일들을 특정한 방식으로 가공해서 80번 포트를 통해 들어오는 특정 요청을 위해 갖다바치는(serve) 것입니다. 헉 그래서 server라고 하는군요.
    4. 그 컴퓨터의 nginx나 apache가 설정한 특정 폴더에는, 개발하신 멋진 코드들이 들어 있습니다. (그 폴더에 그 코드를 넣는 작업이 좁은 의미에서의 '배포'입니다.)
    5. 그 컴퓨터의 nginx나 apache가 설정한 특정 가공 방식은, 예를 들면 PHP나 node.js 같은것을 통해 그 멋진 코드들을 실행시키고 그 출력을 돌려주는 방식이 될 수 있습니다.
    6. 그러면 이제 누군가가 외부망에서 그 IP로 접속(하거나 도메인을 통해서 접속)하면, nginx나 apache가 막 일을 해서 접속한 사람의 요청에 알맞은 출력을 응답하게 됩니다.

    이해가 안 되실 것 같은데 그냥 실전을 해보시는 게 좀더 빠를 겁니다. 대충 찾아보니 Heroku에 바로 올리는 방법이 가장 빠르고 편할 것 같네요. 이 방법은 heroku 전용 코드저장소에 코드를 모두 푸시한 다음 heroku의 가상컴퓨터 특정 폴더에 그 코드를 내려받고 MEAN 스택 웹서버를 실행해 주는 방식이라 생각됩니다. 한번 시도해 보세요.

    PS. 꼭 빌드를 해야 하느냐? 아마도요.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)