포시코딩

내 웹페이지를 다른 컴퓨터에서 접속하는 방법 (JSP, 포트포워딩, LG유플러스)(톰캣으로 구축한 서버 외부에서 접속하는법) 본문

네트워크

내 웹페이지를 다른 컴퓨터에서 접속하는 방법 (JSP, 포트포워딩, LG유플러스)(톰캣으로 구축한 서버 외부에서 접속하는법)

포시 2018. 6. 11. 19:15
728x90

개요

웹페이지를 만들었는데 누구에게 보여주고 싶거나, 이력서에 첨부하고 싶거나, 

다른 컴퓨터에서 잘 동작하는지 테스트하고 싶은 경우

보통은 호스팅을 생각할겁니다. 저도 그랬구요. 

 

근데 호스팅하려면 우선 도메인도 필요합니다. 

그러면 카페24 기준 1년에 2만2천원 + 호스팅비용 @ 가 되는데 내가 본격적으로 런칭하는것도 아니고 

그냥 테스트일뿐인데 돈이 너무 아깝더라구요.

 

그냥 필요할 때만 열고, 알려주고 싶은 사람한테만 내 ip 를 알려주면 보안상 이슈도 없고 돈도 안들지 않을까? 

싶어서 이 글을 작성하게 됐습니다.

 

문제발생 및 원인찾기

우선 본인 서버에서 동작하는 웹페이지가 필요합니다.

저는 JSP, 톰캣을 사용했습니다.

F11 을 눌러 실행해보니 문제없이 동작하네요.

이제 본인의 ip 로 접속해봅시다. 

시작메뉴에서 실행창을 누른 후 cmd 를 입력하면 도스창이 나올겁니다. (빠르게는 윈도우키+R 후 cmd 엔터)

ipconfig 을 치신 후 엔터를 누르면 정보가 나오는데

IPv4 주소를 보시면 됩니다. 저 같은 경우는 공유기를 써서 192~ 로 나오네요.

 

아까 웹페이지 테스트를 했던 localhost:8080/mk2/index.jsp 의 주소를 localhost 대신 위 ip를 넣어서

192.168.219.112:8080/mk2/index.jsp 로 접속해보았습니다.

 

여기서 localhost:8080 은 웹서버주소와 포트번호를 나타냅니다. 그 뒤는 제 웹페이지의 폴더 및 파일을 나타내구요.

다 아실거라 생각하겠습니다.

 

잘 접속되네요.

 

                       

핸드폰에서도 물론 잘 접속됩니다. (왼쪽)

 

허나 여기서 와이파이를 해제하고 데이터로 똑같이 접속한다면? (오른쪽) 위 오른쪽 사진처럼 접속이 안됩니다.

핸드폰 데이터로 접속하는게 다른 컴퓨터로 접속하는거라 생각하면 됩니다. 

 

예전에 테스트를 하며 실수한적이 있는데 

제 컴퓨터로 서버를 열었다 생각하고 동생 컴퓨터로 들어가지니 와 된다! 하고서 다른사람한테 주소를 알려줬다가

안되서 뭐가 문제인지 한참 헤맸던 기억이 있네요.

 

여기서 안되는 이유는 위 ip 주소는 사설 ip이기 때문입니다. 네이버에 공인ip를 검색하시면

 

 

본인의 ip 를 알 수 있는데 

위 ip 주소로 인터넷이 들어와서 공유기를 통해 0번 1번 2번 ... 으로 나뉘어진 인터넷이 

사설ip 의 이름으로 여러대의 컴퓨터에 연결되는 것이지요.

 

그래서 사설 ip 로 접속해도 우리집에서만 약속해놓은 주소라 안되고

공인ip 로 접속해도 공유기를 통해 어떤 컴퓨터로 접속해야 될지 몰라서 접속이 안되는 것입니다.

 

그래서 우리가 해야될 것은 포트포워딩인데 

공인 ip 로 접속 시 내가 지정해놓은 사설 ip 로 바로 접속되게 약속하는 기술이라 할 수 있겠습니다.

 

해결방법 - 포트포워딩

아까 cmd - ipconfig 를 통해 알아낸 사설 ip 주소의 맨 뒷부분을 1로 바꾸거나 기본 게이트웨이 주소를 인터넷에 치시면

(사진 출처 : http://webprogramming.co.kr/admins_blog/1397)

이렇게 나오실겁니다.

(공유기 종류에 따라 다릅니다. 왼쪽은 보편적인 iptime , 저희집은 LG 유플러스 공유기를 써서 오른쪽 사진과 같이 나오네요.)

 

제가 쓰는 유플러스 공유기를 예로 알려드리겠습니다. 

메뉴 이름이나 바꿔야 될 항목들은 대부분 비슷하니 보고 비슷하게 따라오시면 될 것 같네요.

 

비밀번호를 입력하란대로 입력하고 로그인 후 고급설정을 누릅니다.

 

제 톰캣 서버같은경우 제일 위에 나왔던 주소 localhost:8080/mk2/index.jsp 를 보면 알 수 있듯이 

포트가 8080 으로 되어있어 서비스포트도 똑같이 8080으로 해주었습니다. 다를경우 안되더군요.

 

프로토콜은 TCP, IP 주소에는 내 컴퓨터의 사설 ip 를 적어줍니다. 

다 적은 후 추가한 다음 확인을 누르고 난 뒤 

핸드폰으로 확인해보겠습니다.

아까 핸드폰에 적었던 주소에서 ip 를 네이버에서 검색했던 공인 ip 로 바꿔주면 됩니다.

 

결과확인

보시다시피, 잘 접속이 되는 것을 확인할 수 있습니다. 와이파이 끄고 했는지 꼭 확인해주시구요. 

사설 ip 의 경우 유동 ip 라서 포트포워딩 설정해놓은 내 컴퓨터의 사설 ip 뒷자리가 다른 번호로 바뀌어있을 때도 있으니

됐다가 안되실 경우엔 사설 ip 를 다시 한번 확인해보시길 바랍니다.

 

 

 

 

 

이 글은 아래 블로그를 참고하여 작성되었습니다. 

http://webprogramming.co.kr/admins_blog/1397 

 

Admin's Blog - 집 안의 PC를 몽구스 웹 서버로 만들고 외부에서 접속하기

안녕하세요~ 관리자입니다. 지금부터 몽구스 웹 서버를 독자들의 집에 있는 PC에 설치하고 휴대폰이나 외부 PC에서 몽구스웹서버에 접속하여 웹 페이지를 보는 방법에 관해 설명하겠습니다. 몽

webprogramming.co.kr

 

위 블로그에선 iptime 공유기로 자세히 올려주셨기 때문에 iptime 공유기를 쓰시는 분들은

위 블로그를 통해 확인하시면 될 것 같네요.

728x90

'네트워크' 카테고리의 다른 글

소켓(socket), socket.io  (0) 2022.12.26
TCP, UDP  (0) 2022.12.26
HTTP 상태 코드 예시  (0) 2022.12.13
Web Server vs WAS - 작성중  (0) 2022.12.12
HTTP, HTTPS, TCP, UDP - 작성중  (0) 2022.11.25