Dev tunnels command-line reference

2025. 4. 11. 15:13·알쓸신잡

Dev tuunel에 대한 설명과 기본적인 사용법은 이전에 작성한 글을 참고하면 된다.

 

Microsoft Dev Tunnels

1. Dev Tunnel이란?개발자 터널(Dev Tunnel)은 개발자가 인터넷을 통해 로컬 웹 서비스를 안전하게 공유할 수 있게 해주는 Microsoft의 서비스이다.(이전에 작성한 ngrok, Vscode Local Port Forwarding와 같은 기능

changsroad.tistory.com

1. Global Options

모든 devtunnel 명령에서 사용할 수 있는 옵션이다.

  • -v, --verbose: 자세한 정보 표시 출력
  • -?, -h, --help: 도움말 및 사용 정보를 표시
  • --version: 현재 설치된 버전을 확인

2. Manage user credentials

Microsoft, Microsoft Entra ID 또는 GitHub 계정으로 로그인한다.

개발 터널은 익명으로 터널 호스팅을 지원하지 않으므로, 사용하기 전에 반드시 로그인해야 한다.

devtunnel user login           # Microsoft 또는 GitHub 계정으로 로그인합니다.
devtunnel user logout          # 캐시된 토큰 지우기
devtunnel user show            # 현재 로그인 상태 표시

devtunnel user login -g        # GitHub 계정으로 로그인
devtunnel user login -d        # 로컬 대화형 브라우저 로그인이 불가능한 경우 디바이스 코드 로그인을 사용하여 GitHub 계정으로 로그인
devtunnel user login -g -d     # 로컬 대화형 브라우저 로그인이 불가능한 경우 디바이스 코드 로그인을 사용하여 GitHub 계정으로 로그인

3. Host a dev tunnel

단일 tunnel을 관리할 때 사용된다. 

devtunnel host

 

개발 터널을 호스트 하는 데 사용되는 기본 명령어로, 이 명령은 개발 터널을 통해 액세스 할 수 있는 서버를 실행하는 호스트 시스템에서 실행해야 한다.

3-1. example

# 특정 포트 호스트
devtunnel host -p 8080
# 여러 포트 호스트
devtunnel host -p 8080 -p 3000

# 특정 protocol사용하여 호스트
devtunnel host -p 8080 --protocol https
devtunnel host -p 8080 --protocol http

# 만료일 지정 최소 1h 최대 30d
devtunnel host -p 8080 -expiration 2d

# 익명클라이언트 접근 허용: 이것은 외부에서 내 tunnel id만 알면 접속이 가능해지기 때문에 위험하다. (보안문제)
devtunnel host -p 3000 --allow-anonymous
devtunnel host -p 3000 -a

3-2. Usage

위와 같이 만들게 되면 특정 url이 주어진다. 이 url을 통해서 접근이 가능하다 .

4. Manage Dev tunnels

여러 개의 tunnel 및 port를 관리할 때 사용된다. 

4-1. Manage tunnel commnd

사실 기본적인 것만 사용하려면 위에 있는 명령어들로 한 개의 tunnel만 관리하면서 사용해도 되는데
아래는 tunnel을 개별적으로 관리하는 명령어들이다.

나는 내 리눅스 데스크톱과 리눅스 서버에서 둘 다 동일한 github 계정을 이용하여 이 기능을 사용하기 때문에 매번 헷갈려서
각 터널들을 tunnel id와 description 들을 통해서 구분하여 관리했다. 이런 경우가 아니라면 스킵해도 된다.

## CREATE ##
# 영구터널 생성 
devtunnel create
# 익명 액세스를 허용하는 영구 터널 생성
devtunnel create -a
# 특정 tunnel id를 가진 tunnel 생성
devtunnel create {TUNNELID}
# 설명이 있는 영구 터널 생성
devtunnel create -d 'my tunnel description'
# 4시간 만료 시간 설정
devtunnel create --expiration 4h
# 태그를 가진 tunnel 생성
devtunnel create --tags my-web-app v1

## LIST ##
# 터널 목록 확인
devtunnel list
# 특정 태그를 가진 tunnel 검색
devtunnel list --tags my-web-app

## SHOW ## 
# 터널 정보 상세보기 
devtunnel show 
# 특정 tunnel 상세보기
devtunnel show {TUNNELID}

## UPDATE ## 
# 터널속성 업데이트 
devtunnel update
devtunnel update TUNNELID --remove-tags

## DELETE ##
# 터널 삭제
devtunnel delete
# 모든 터널 삭제
devtunnel delete-all

4-2. Managen port command

추가적으로 나는 여러 포트들을 테스트하고 있어서 각각의 포트들 구분이 필요해서 아래 명령어들을 통해서 관리하였다.
아래 명령어들을 통해서 한 번에 port들을 설정해 두고 마지막에 host 명령어로 사용하면 된다.

# tunnel에 포트 생성
devtunnel port create
# tunnel에 3000번 포트를 http로 생성
devtunnel port create -p 3000 --protocol http

# tunnel의 포트 목록 확인
devtunnel port list
# 특정 tunnel 포트목록 확인
devtunnel port list TUNNELID

# tunnel의 포트 상세보기
devtunnel port show
# 특정 tunnel의 포트 상세보기
devtunnel port show TUNNELID -p 3000

# tunnel의 포트의 속성 업데이트
devtunnel port update
# 특정tunnel 포트 설명 업데이트
devtunnel port update -p 3000 --description 'frontend port'

# tunnel의 포트 삭제
devtunnel port delete
# 터널 포트 삭제
devtunnel port delete -p 3000

# 포트 업데이트
devtunnel port update -p 8080 --protocol https

# 포트 제거
devtunnel port remove -p 8080

4-3. host

위의 명령어들로 tunnel과 각 tunnel의 host들을 설정해 두었다면 host 명령어로 실행할 수 있다.
백그라운드로 실행하는 기능은 제공하지 않으니 screen 등을 통해서 돌려놓으면 될 것 같다.

devtunnel host

(아래링크는 backgroud를 지원하지 않을 거라는 내용)

 

Run `devtunnel` in the background · Issue #338 · microsoft/dev-tunnels

Hi, can someone tell is there any option to launch devtunnel host In detached (background mode)?

github.com

5. 일반적인 사용

  1. 로그인
  2. devtunnel user login
  3. 터널 생성:
  4. devtunnel create -d "My development tunnel"
  5. 로컬 서버 실행 (예: 포트 8080에서 실행 중인 웹 서버)
  6. 터널 호스팅 시작
  7. devtunnel host -p 8080
  8. 출력된 URL을 통해 터널에 접근 (예: https://<tunnel_id>.usw2.devtunnels.ms:8080/)

6. Reference

 

개발 터널 명령줄 참조 - Microsoft dev tunnels

개발 터널 명령줄 도구를 사용하여 로컬 서비스에 대해 공개적으로 액세스할 수 있는 포트를 만드는 방법에 대한 참조 설명서입니다.

learn.microsoft.com

 

728x90

'알쓸신잡' 카테고리의 다른 글

TypeError: Can't instantiate abstract class OpenAI with abstract method _prepare_chat_with_tools  (0) 2025.05.20
Use Ollama with any GGUF Model on Hugging Face Hub  (0) 2025.04.16
Microsoft Dev Tunnels  (0) 2025.04.11
Mattermost SMTP 설정  (0) 2025.04.10
Mattermost self hosting on Docker  (0) 2025.04.10
'알쓸신잡' 카테고리의 다른 글
  • TypeError: Can't instantiate abstract class OpenAI with abstract method _prepare_chat_with_tools
  • Use Ollama with any GGUF Model on Hugging Face Hub
  • Microsoft Dev Tunnels
  • Mattermost SMTP 설정
창빵맨
창빵맨
  • 창빵맨
    Let's be Developers
    창빵맨
    로그인/로그아웃
  • 전체
    오늘
    어제
    • 분류 전체보기 (471)
      • 알쓸신잡 (79)
      • ML & DL (85)
        • Computer v.. (22)
        • NLP (22)
        • 파이썬 머신러닝 완.. (3)
        • 개념정리 (38)
      • 리눅스 (21)
      • 프로젝트 (29)
        • 산불 발생 예측 (6)
        • 음성비서 (12)
        • pdf 병합 프로그.. (0)
        • 수위 예측 (5)
        • 가짜 뉴스 분류 (5)
        • 전력사용량 예측 (1)
      • 코딩테스트 (217)
        • 프로그래머스[Pyt.. (17)
        • 프로그래머스[Fai.. (3)
        • 백준[Python] (160)
        • 이것이취업을위한코딩.. (18)
        • 파이썬 알고리즘 (19)
      • 데이터분석실습 (25)
        • 데이터 과학 기반의.. (18)
        • 헬로 데이터 과학 (7)
      • 메모장 (0)
      • 잡담 (4)
  • Blog

    • 🏠 Home
    • ✏️글쓰기
    • 💻 관리자

    Personal

    GITHUB
    Instagram
  • 공지사항

  • 인기 글

  • 태그

    그리디
    나동빈
    dp
    BFS
    파이썬
    DFS
    백준
    이것이취업을위한코딩테스트다
    이코테
    이분탐색
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3

HOME

HOME

  • Profile
  • Light
상단으로

티스토리툴바