본문 바로가기
My Image
프로그래밍/AWS

[AWS] 아마존웹서버 포트번호 열기

by Lim-Ky 2017. 5. 18.
반응형

아마존 서버에서 내가 원하는 번호로 포트를 여는 방법을 알아보자.. 개인적으로 많은 삽질을 했다...ㅠ 개발 환경은 아마존 웹서버 위에 돌아가는 톰캣으로 한다. 톰캣을 설치하면 기본적으로 8080포트가 잡히는데.. 이게 훗날 도메인 처리를 할 때 반드시 바꿔줘야한다.(:8080 꼴보기 싫음) 므튼 톰캣은 기본적으로 80으로 포트를 바꾸면 굳이 80포트를 localhost 뒤에 :80 이라고 쓰지 않아도 자동으로 80포트를 잡는다. 따라서 그냥 localhost라고 입력해도 자~알 돌아간다.


이제 우리가 할 일은 톰캣의 8080포트를 80포트로 바꾸는 일이다!!






포트를 여는 작업 순서

1. 자신의 아마존 인스턴스 Security Groups에서 원하는 포트번호 설정한다.

2. iptable 명령어를 이용 톰캣 포트를 포트포워딩을 해주면 끝.


이렇게 간단한...하지만 이 2가지 작업만 하면 된다는 사실을 알기까지 많은 삽질을 했다... 직접 톰캣폴더에 conf/server.xml에 있는 포트번호를 80으로 직접 수정 톰캣 재시작을 해보거나,가비아 도메인 서비스에서 포트포워딩을 해주거나 네임서비스를 해보거나...다 실패; 하지만!

중요한 사실은 포트를 아마존 인스턴스 Security Groups에서 반드시 열어줘야 잘 동작한다. 그 이유는 나의 아마존 인스턴스로 부터 누군가 통신 요청을 하면 반드시 아마존에서 중간에 인터셉터를 한 후 나의 인스턴스로 오기 때문에 중간에 거치는 녀석에게 내가 80 포트를 열겠다고 설정해줘야 통신이 된다는 점!!


하지만 또 한가지...리눅스 기반에 아마존 인스턴스에 경우 리눅스 자체적으로 보안상 포트번호를 바꿀수 있는 권한을 일반유저에게 주지않는다. 따라서 아무리 일반 유저가 톰캣 server.xml을 바꾸고 난리쳐도 안바뀐다. 이때 사용하는 것이

iptable이라는 녀석인데 이거 명령어 하나만 쳐주면 80 포트를 자동으로 8080포트로 포트포워딩이 된다!!
(# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080)

반응형

'프로그래밍 > AWS' 카테고리의 다른 글

[AWS] AWS(아마존웹서비스)를 시작하며...  (0) 2017.05.18

댓글