본문 바로가기
카테고리 없음

내 서버를 외부에서 접속하려면 어떻게 해야 할까

by by_merry 2026. 4. 27.

집에서 서버를 만들어보면 대부분 여기서 막힌다.

“내 컴퓨터에서는 잘 되는데, 왜 밖에서는 접속이 안 되지?”

이건 정상이다. 기본적으로 집 안의 컴퓨터는 외부에서 바로 접근할 수 없게 되어 있기 때문이다.

하지만 몇 가지만 설정하면 외부에서도 내 서버에 접속할 수 있다.

핵심은 딱 이 구조다.

외부 → 공인 IP → 공유기 → 포트포워딩 → 내 컴퓨터 → 서버

 

1. 공인 IP 확인하기

외부에서 내 서버로 들어오려면 먼저 “어디로 가야 하는지” 알아야 한다.

그게 바로 공인 IP다.

공인 IP는 인터넷에서 내 집을 대표하는 주소다.

예를 들어:

  • 123.45.67.89

같은 형태다.

외부에서는 이 주소로 접속을 시도한다.

즉, 공인 IP는 “집 주소” 같은 역할이다.

2. 서버 프로그램 실행하기

그 다음은 당연하지만 중요한 단계다.

내 컴퓨터에서 서버가 실제로 실행되고 있어야 한다.

예를 들어:

  • Node.js 서버 → 3000 포트
  • 웹서버 (Nginx) → 80 포트
  • Docker 컨테이너 → 8080 포트

이처럼 특정 포트에서 서버가 열려 있어야 한다.

예:

docker run -p 3000:3000 myapp

이건 내 컴퓨터의 3000 포트를 서버에 연결하는 것이다.

3. 포트포워딩 설정하기 (가장 중요)

이 단계가 핵심이다.

외부에서 요청이 들어오면:

  • 공인 IP까지는 도착하지만
  • 내 컴퓨터로 자동으로 들어오지는 않는다

왜냐하면 공유기가 막고 있기 때문이다.

그래서 공유기 설정에서 포트포워딩을 해줘야 한다.

예를 들어:

  • 외부 8080 포트 → 내부 192.168.0.10:3000

이렇게 설정하면:

  • 외부에서 8080으로 들어온 요청이
  • 내 컴퓨터의 3000 포트로 전달된다

즉, 외부 요청을 내 서버로 연결해주는 역할이다.

4. 실제 접속은 이렇게 한다

이제 모든 설정이 끝나면 외부에서는 이렇게 접속할 수 있다.

http://공인IP:포트

예:

http://123.45.67.89:8080

이렇게 입력하면 내 서버에 접속된다.

왜 기본적으로는 막혀 있을까

기본적으로 외부 접속이 막혀 있는 이유는 보안 때문이다.

만약 아무 설정 없이 외부에서 접속이 가능하다면:

  • 해킹 시도
  • 무단 접근
  • 데이터 유출

같은 문제가 발생할 수 있다.

그래서 공유기가 기본적으로 모든 외부 요청을 막고 있다.

포트포워딩은 그중에서 “허용할 것만 열어주는 방식”이다.

자주 막히는 이유

외부 접속이 안 될 때 대부분 이유는 이 중 하나다.

  • 공인 IP가 바뀜 (유동 IP)
  • 포트포워딩 설정 잘못됨
  • 서버가 실행 안 됨
  • 방화벽이 막고 있음

특히 포트 번호 틀리는 경우가 많다.

나도 처음에는 이거 때문에 몇 시간 날린 적 있다.

전체 흐름 한 번에 이해하기

이걸 한 줄로 풀면 이렇게 된다.

외부 사람이 공인 IP로 접속 → 공유기가 요청 받음 → 포트포워딩 규칙 확인 → 내 컴퓨터로 전달 → 서버 응답

이 흐름만 이해하면 서버 연결 구조는 거의 끝이다.

한 줄로 정리하면

외부에서 내 서버에 접속하려면 공인 IP를 통해 들어온 요청을 공유기의 포트포워딩으로 내 컴퓨터의 특정 포트로 연결해줘야 한다.