728x90

 

 

❓Local 서버

모든 컴퓨터는 서버(Server)의 역할을 할 수 있는 능력을 가지고 있다. 로컬 서버 란 말 그대로 내 컴퓨터에서 프로젝트의 서버 환경을 구성한다는 의미이고, 이렇게 만든 서버를 특정 명령어로 실행할 수 있다. 당연히 서버를 어떤 환경으로 만들었는지에 따라 서버를 실행시키는 명령어가 달라진다.

 

 

 

 

❓IP & PORT

우리는 어떤 지점을 찾을 때 어떤 선택을 하는가?

예를 들어 홍대역을 찾아간다고 하자 대부분의 사람들은 홍대역의 주소를 찾아서 갈 것이다.

하지만 사실 홍대의 정확한 위치는 위도 경도 값으로 결정된다고 할 수 있다.

 

서버에서도 이것이 적용된다.

  • IP주소란 Internet Protocal Address 즉 인터넷(컴퓨터)의 절대적 주소이다.
  • 하지만 직관성 및 편의성 때문에 도메인 주소를 이용하여 접근하는 경우가 많다. 

서버에 접근할 수 있는 다양한 문이 존재하는데 이를 PORT라고 한다.

서버에서는 접근하는 사람이 사용자냐 관리자냐에 따라 PORT번호를 다르게 접근한다.

HTTP와 HTTPS의 경우 지정된 포트 번호가 있는데 이런 것들을 "잘 알려진 포트들" "Well-known port"이라고도 한다.

HTTP는 80번, HTTPS는 443 포트로 접속하는 것으로 약속이 되어있다.

 

 

 

 

❓포트포워딩(Port-Forwarding)

쉽게 말해서 공유기에게 이정표를 달아주는 것이다.

 

공유기를 설치하게 되면 공유기와 연결된 PC들은 IP를 공유기로부터 부여받게 된다.

출처 : https://storytown.tistory.com/14

친구 집에서 21번 포트로 요청이 왔는데 공유기는 지금 상황에서는 어느 PC로 연결해 줘야 하는지 모르는 상태이다.

따라서 당연히 요청이 실패하게 된다.

이때 공유기에게 이정표를 달아주는 것을 포트 포워딩(Port-Forwarding)이라고 한다.

21번 포트로 요청이 오면 공유기는 포트 포워딩 즉 이정표를 통해 192.168.0.20번 PC로 정확하게 요청을 받아드릴 수 있는 것이다.

 

 

 


 

 

📖 포트포워딩 실습

Local 서버 구축

나는 맥북을 사용 중에 있기에 Bitnami MAMP를 통해 맥 환경에 Apache / MySQL / PHP를 한 번에 설치해주었다.

 

나는 처음 Bitnami를 설치할 때 Apache 웹서버 포트를 추천해 주었는데 8082로 설정했기 때문에 주소창에

127.0.0.1:8082로 접속하였다. 위와 같은 화면이 뜨면 정상적으로 실행이 된 것이다.

 

 

 

 

phpinfo 띄우기

설치한 MAMP 폴더에 wampstack-8.0.10-1 디렉터리의 apache2 > htdocs 폴더에 phpinfo.php 파일을

 

<?
php phpinfo();
?>

 

 다음과 같이 작성해주고 저장해준다.

wampstack-8.0.10-1 디렉토리의 apache2 > htdocs에 위치하는 파일이 서버 IP 접속 시, default로 응답해주는 페이지들이다.

 

다음과 같이 phpinfo 페이지가 정상적으로 나오는 것을 확인할 수 있다.

 

 

 

 

포트 포워딩

ipTime 공유기는 192.168.0.1로 접속해 관리자 설정을 할 수 있다.

본인이 설정해 둔 아이디와 비밀번호(설정을 안 했다면 초기값 아이디 비밀번호 모두 admin)로 접속 후

 

 

다음과 같이 NAT/라우터로 들어가 본인의 내부 IP주소와 외부 포트, 내부 포트를 설정해 둔다. 

여기서 지속해서 포트 포워딩이 안 되는 현상이 발생했는데 위에서 말했다시피 내 로컬에서 Bitnami의 Apache는 8082 포트였다.

하지만 당연히 내부 포트가 80이라 생각하고 80으로 설정했더니 당연히 포트 포워딩이 정상 작동되지 않았다.

 

  • 로컬 IP 주소 (내부 IP 주소) : 공유기로부터 할당받은 접속한 기기의 IP
  • 외부 포트 : 외부에서 어떤 포트로 접속하였을 때 지정된 컴퓨터로 연결할 것인지 설정
  • 내부 포트: 외부 포트에서 연결해주었을 때, 내부에서는 어떤 포트를 사용할 것인지 설정. 나 같은 경우에는 8082를 부여받았으므로 8082

 

 

 

접속 확인

이제 외부 기기로부터 로컬 서버로의 접근이 가능하다. 

 

 

 

 

 

 

❗주의할 점

같은 인터넷(와이파이)을 사용하고 있는 기기가 아닌 다른 기기를 이용하여야 한다.

 

 

 

 

 

복사했습니다!