웹사이트 검색

Ngrok을 사용하여 인터넷에서 로컬 웹사이트나 앱을 테스트하는 방법


웹사이트 또는 모바일 애플리케이션 개발자이시며 테스트 목적으로 NAT 또는 방화벽 뒤에 있는 localhost 서버를 공용 인터넷에 노출하고 싶으십니까? 이 튜토리얼에서는 ngrok을 사용하여 이를 안전하게 수행하는 방법을 공개합니다.

Ngrok은 보안 터널을 통해 NAT 및 방화벽 뒤에 있는 로컬 서버를 공용 인터넷에 노출시키는 획기적인 무료 오픈 소스 및 크로스 플랫폼 역방향 프록시 서버입니다. 집에서 직접 개인 클라우드 서비스를 구현하는 데 사용할 수 있는 놀라운 컴퓨터 프로그램입니다.

기본적으로 localhost에 대한 보안 터널을 설정하므로 실제 배포 전에 웹 사이트 데모를 실행하고, 로컬로 실행되는 백엔드에 연결된 모바일 앱을 테스트하고, 개발 컴퓨터에서 웹훅 소비자를 구축할 수 있습니다.

Ngrok 기능:

  • 모든 주요 플랫폼에 대해 런타임 종속성이 전혀 없어 설치가 쉽고 빠르게 작동합니다.
  • 보안 터널을 지원합니다.
  • 나중에 검사하고 재생할 수 있도록 터널을 통과하는 모든 트래픽을 캡처하고 분석합니다.
  • 라우터에서 포트 전달을 제거할 수 있습니다.
  • HTTP 인증(비밀번호 보호) 구현을 활성화합니다.
  • SSH와 같이 HTTP를 사용하지 않는 네트워크 서비스를 노출하기 위해 TCP 터널을 사용합니다.
  • SSL/TLS 인증서를 사용하여 HTTP 또는 HTTPS 터널링만 지원합니다.
  • 여러 개의 동시 터널을 지원합니다.
  • 웹훅 요청을 재생할 수 있습니다.
  • 가상 호스트 사이트로 작업할 수 있습니다.
  • API와 유료 플랜의 다양한 옵션을 통해 자동화할 수 있습니다.

사용하기 전에 웹 서버를 설치하거나 기능적인 LAMP 또는 LEMP 스택 설정을 고려해야 합니다. 그렇지 않은 경우 다음 가이드를 따르세요.

Linux에 LAMP 스택을 설치합니다.

  1. RHEL/CentOS 7.0에 LAMP(Linux, Apache, MariaDB, PHP/PhpMyAdmin) 설치
  2. Ubuntu 16.10에 PHP 7 및 MariaDB 10과 함께 LAMP를 설치하는 방법

Linux에 LEMP 스택을 설치합니다.

  1. Debian 9 Stretch에 LEMP(Linux, Nginx, MariaDB, PHP-FPM)를 설치하는 방법
  2. 16.10/16.04에 Nginx, MariaDB 10, PHP 7(LEMP 스택)을 설치하는 방법
  3. RHEL/CentOS 7/6 및 Fedora 20-26에 최신 Nginx, MariaDB 및 PHP 설치

Linux에 Ngrok을 설치하는 방법

Ngrok은 설치가 매우 쉽습니다. 아래 명령을 실행하여 단일 바이너리가 포함된 아카이브 파일을 다운로드하고 압축을 풀면 됩니다.

mkdir ngrok
cd ngrok/
wget -c https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
unzip ngrok-stable-linux-amd64.zip
ls

바이너리 파일이 있으면 웹 서버에 대한 요청을 테스트하기 위해 웹 서버(Apache)의 기본 문서 루트에 기본 index.html 페이지를 생성해 보겠습니다.

sudo vi /var/www/html/index.html

파일에 다음 HTML 콘텐츠를 추가합니다.

<!DOCTYPE html>
<html>
        <body>
                <h1>This is a TecMint.com Dummy Site</h1>
                <p>We are testing Ngrok reverse proxy server.</p>
        </body>
</html>

파일을 저장하고 http 포트 80을 지정하여 ngrok을 실행합니다(다른 포트에서 수신하도록 웹 서버를 구성한 경우 해당 포트를 사용해야 함).

ngrok http 80

일단 시작하면 터미널에 아래와 비슷한 출력이 표시됩니다.

Ngrok UI를 사용하여 웹 서버에 대한 트래픽을 검사하는 방법

Ngrok은 터널을 통해 실행되는 모든 HTTP 트래픽을 실시간으로 검사할 수 있는 간단한 웹 UI를 제공합니다.

http://localhost:4040 

위 출력에서 아직 서버에 요청이 이루어지지 않았습니다. 시작하려면 아래 URL을 사용하여 터널 중 하나에 요청하세요. 다른 사용자도 이 주소를 사용하여 귀하의 사이트나 앱에 액세스합니다.

http://9ea3e0eb.ngrok.io 
OR
https://9ea3e0eb.ngrok.io 

그런 다음 검사 UI에서 시간, 클라이언트 IP 주소, 기간, 헤더, 요청 URI, 요청 페이로드 및 원시 데이터를 포함하여 요청 및 응답의 모든 세부 정보를 확인하세요.

자세한 내용은 Ngrok 홈페이지(https://ngrok.com/)를 참조하세요.

Ngrok은 정말 놀라운 도구입니다. 단연코 가장 단순하면서도 강력한 보안 로컬 터널 솔루션입니다. 더 많은 대역폭을 얻으려면 무료 ngrok 계정을 만드는 것을 고려해야 하지만, 더 많은 고급 기능을 원한다면 유료 계정으로 업그레이드해 보세요. 아래 의견 양식을 통해 이 소프트웨어에 대한 귀하의 생각을 공유해 주십시오.