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. 일반적인 사용
- 로그인
devtunnel user login- 터널 생성:
devtunnel create -d "My development tunnel"- 로컬 서버 실행 (예: 포트 8080에서 실행 중인 웹 서버)
- 터널 호스팅 시작
devtunnel host -p 8080- 출력된 URL을 통해 터널에 접근 (예:
https://<tunnel_id>.usw2.devtunnels.ms:8080/)
6. Reference
개발 터널 명령줄 참조 - Microsoft dev tunnels
개발 터널 명령줄 도구를 사용하여 로컬 서비스에 대해 공개적으로 액세스할 수 있는 포트를 만드는 방법에 대한 참조 설명서입니다.
learn.microsoft.com
'알쓸신잡' 카테고리의 다른 글
| 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 |