ngrok - 로컬 웹 서버를 공개하기 위한 공개 URL.
본문
더 많은 프로그래밍 시간을 보내십시오. NAT 또는 방화벽을 통해 로컬호스트 서버에 대한 즉각적이고 안전한 URL을 위한 하나의 명령.
ngrok는 터널을 통해 실행되는 모든 HTTP 트래픽을 검사 할 수있는 실시간 웹 UI를 제공합니다. 한 번의 클릭으로 터널에 대한 요청을 재생하십시오.
작동 원리
컴퓨터에서 프로그램을 다운로드하여 실행하고 네트워크 서비스 (일반적으로 웹 서버)의 포트를 제공합니다.
공개 주소의 트래픽을 허용하는 ngrok 클라우드 서비스에 연결하고 해당 트래픽을 컴퓨터에서 실행 중인 ngrok 프로세스로 지정한 다음 지정한 로컬 주소로 릴레이 합니다.
좋은 점
- 배포하지 않고 웹 사이트 데모
- 개발자 컴퓨터에서 웹 후크 소비자 구축
- 로컬로 실행되는 백엔드에 연결된 모바일 앱 테스트
- 현장에 배포 된 연결된 장치의 안정적인 주소
- 집에서 개인 클라우드 서비스 실행
몇 가지 훌륭한 기능
보안 터널
개발 시스템에서 로컬로 실행되는 웹 사이트에 대한 공개 HTTPS URL을 즉시 작성하십시오.
ngrok http 80
검사 요청
ngrok의 웹 검사 인터페이스를 사용하여 터널을 통한 HTTP 요청 및 응답 트래픽을 이해하십시오.
Fast
ngrok 터널은 터널링된 서비스를 빠르게 로드할 수 있도록 HTTP/2를 지원하는 최적화 된 버전의 기술을 사용하여 실행됩니다.
더 이상 포트 전달이 없습니다
라우터에서 포트 전달을 구성하거나 동적 DNS 솔루션을 설정하는 데 시간을 낭비하지 마십시오. ngrok는 장치가 네트워크를 변경하더라도 변경 없이 모든 곳에서 작동합니다.
비밀번호로 보호
http auth 자격 증명을 설정하여 터널 및 공유 터널에 대한 액세스를 보호하십시오.
ngrok http -auth "user:password" 80
TCP 터널
SSH와 같은 HTTP를 사용하지 않는 네트워크 서비스도 인터넷에 노출하십시오.
ngrok tcp 22
웹 소켓 지원
실시간 웹 앱을 공유하십시오! ngrok는 변경 없이 HTTP 터널을 통해 웹 소켓 연결을 터널링 합니다.
ngrok http 8000
여러 개의 동시 터널
단일 ngrok 클라이언트와 동시에 여러 터널을 실행하십시오.
ngrok start demo-site ssh admin-ui
Webhook 요청 재생
웹 후크 요청을 개발자 서버로 간단히 '재생'하여 웹 후크 통합을 쉽게 개발할 수 있습니다.
대상 가상 호스트 사이트
터널링 된 요청의 호스트 헤더를 다시 작성하여 WAMP / MAMP / Pow 개발 환경에서 특정 사이트를 대상으로 하십시오.
ngrok http -host-header=mysite.dev 80
API를 통해 ngrok 자동화
간단한 RESTful API를 사용하여 터널 상태를 동적으로 시작, 중지 및 쿼리 합니다.
curl http://127.0.0.1:4040/api/
팀을 위한 공유 계정 액세스
계정은 예약 된 도메인 및 주소에 대한 액세스 권한을 공유하여 여러 개발자가 자신의 자격 증명을 유지하면서 프로젝트에서 공동 작업 할 수 있습니다.
ngrok 유료 플랜
ngrok 서비스의 일부 기능은 ngrok.com 유료 요금제 중 하나를 사용하는 고객 만 사용할 수 있습니다. 유료 요금제에서만 제공되는 기능은 다음과 같습니다.
맞춤 하위 도메인
앱이 임의로 선택된 하위 도메인 대신 https://myapp.ngrok.io에 나타납니다.
ngrok http -subdomain myapp 80
예약 된 도메인
ngrok.io 하위 도메인은 다른 사용자에게 프로비저닝 되지 않으며 항상 사용할 수 있도록 예약하십시오.
자신의 도메인에 있는 터널
자신의 도메인 이름으로 터널을 실행하십시오! DNS를 간단하게 변경해야 합니다.
ngrok http -hostname tun.yourdomain.com 80
엔드 투 엔드 TLS 터널
자체 SSL 인증서 및 개인 키로 암호화 된 엔드 투 엔드 로컬 서비스로 HTTPS (또는 기타 TLS) 트래픽을 터널링 합니다. 당신은 당신의 자신의 도메인을 통해 그들을 실행할 수 있습니다!
ngrok tls -hostname yourdomain.com 443
예약 된 TCP 주소
변함없는 IP 및 포트 전용으로 예약하십시오. 개인 클라우드 서비스 또는 ngrok TCP 터널을 통해 노출되는 모든 것에 적합합니다.
ngrok tcp --remote-addr 1.tcp.ngrok.io:21011 22
TLS 클라이언트 종료
로컬 서비스가 ngrok 클라이언트에 TLS 종료를 오프로드 하여 TLS 종료를 지원하지 않더라도 엔드 투 엔드 암호화와 함께 ngrok의 TLS 터널을 사용하십시오!
ngrok tls -crt tls.crt -key tls.key 443
와일드 카드 도메인
단 하나의 명령으로 모든 하위 도메인에 대한 HTTP 요청을 로컬 서비스로 터널링 하십시오.
ngrok http -hostname *.yourname.com 8080
IP 화이트리스트
터널링 서비스의 추가 보안을 위해 IP 주소 또는 IP 범위로 터널 엔드 포인트에 대한 액세스를 허용합니다.
- 이전글Node Express API를 서버리스로 전환 19.09.23
- 다음글Node.js 및 Express로 SMS 메시지를 보내고 받는 방법 19.09.22