-
포트포워딩으로도 외부에서 접속이 안 될 때: Ngrok으로 로컬PC 서버에 띄우기Tips 2021. 10. 27. 21:39728x90반응형
앞서 포스팅한 포트포워딩으로도 webhook에서 로컬 jenkins에 연결하는 것에 실패했다. 원인은 자세히 알아봐야하지만 아마 집에서 사용하는 개인 공유기가 바로 인터넷에 연결되어있는 것이 아니라 건물에서 사용하는 공유기에 연결되어 있는 것 때문이 아닌가(포트포워딩이 두 번 필요한 상황이지만 건물 공유기에 내가 접속할 수 없으므로 불가)로 추측된다.
로컬 Jenkins에 연결하는 것을 포기하고 EC2에 띄운 젠킨스를 사용하려다가 Ngrok을 사용하면 외부에서 접근 가능한 dns를 만들 수 있다고 하여 시도해봤다. 이전 포스팅에서 적었듯 외부에서 내 컴퓨터에 접근하기 위해서는 포트포워딩을 하거나 공인 IP를 돈을 주고 사야하는데, Ngrok을 사용하면 공인 IP를 만들어 주는 느낌으로 외부에서 로컬 컴퓨터로 연결 가능하게 해준다.
Ngrok 사용하기
1. 설치하기
$brew install --cask ngrok
2. 연결하기
$ngrok http <접속원하는 포트번호>
예를 들어 나는 로컬 컴퓨터에 설치되어있는 젠킨스에 접속하고 싶고, 젠킨스의 포트번호는 8080이므로 `ngrok http 8080`을 수행하면 다음과 같은 화면을 볼 수 있다.
여기에서 빨간색 네모에 있는 주소가 외부에서 접근 가능한 public dns가 된다. 이것을 DNS Tunneling이라고 하는데, 데이터를 DNS query-response 메세지 속에 숨겨서 감시 소프트웨어에 탐지되지 않고 전달하는 기법이다.
핸드폰으로 접속되는 것은 확인했다 (개신기..). 웹훅은 여전히 안되는데 뭔가 다른 설정이 잘못된 듯 하다.
728x90반응형'Tips' 카테고리의 다른 글
시간 단위 정리 - ns, ms, us, ps, fs (0) 2022.03.25 CPU 성능 측정에 관련된 용어들 - Clock cycle, Clock period, Clock speed, CPI, IC (0) 2022.03.25 Oh-my-zsh 설치하기, zsh 테마 변경 및 한글 폰트 적용, 자동완성 설정하기 (0) 2021.08.20 Python 가상환경 비교, Anaconda/ Homebrew/ Git/ Docker 간단 정리 및 설치 Troubleshooting (0) 2021.08.12 Colab 런타임 끊김 방지하기 (0) 2021.07.07