Skip to content

Commit fffbad8

Browse files
committed
dev tunnel
1 parent 0de794a commit fffbad8

1 file changed

Lines changed: 42 additions & 2 deletions

File tree

content/blog/general/devtunnel.md

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,11 +101,13 @@ devtunnel --version
101101
```
102102

103103
Expected output:
104+
104105
```
105106
devtunnel version 2.x.x
106107
```
107108

108109
If the command is not recognized:
110+
109111
- Restart your terminal/command prompt
110112
- Verify the installation path is in your system PATH
111113
- Try using the full path to the executable
@@ -135,6 +137,7 @@ curl -fsSL https://aka.ms/devtunnels/download | bash
135137
```
136138

137139
This script will:
140+
138141
- Download the appropriate binary for your Mac architecture
139142
- Install it to `/usr/local/bin/devtunnel`
140143
- Make it executable
@@ -160,6 +163,7 @@ devtunnel --version
160163
```
161164

162165
If you get a "command not found" error:
166+
163167
- Check that `/usr/local/bin` is in your PATH: `echo $PATH`
164168
- Add it if needed: `export PATH=$PATH:/usr/local/bin`
165169
- Restart your terminal
@@ -199,12 +203,14 @@ sudo chmod +x /usr/local/bin/devtunnel
199203
Some Linux distributions may have devtunnel in their repositories. Check your distribution's package manager:
200204

201205
**For Debian/Ubuntu:**
206+
202207
```bash
203208
# Check if available
204209
apt search devtunnel
205210
```
206211

207212
**For Fedora/RHEL:**
213+
208214
```bash
209215
# Check if available
210216
dnf search devtunnel
@@ -219,6 +225,7 @@ devtunnel --version
219225
```
220226

221227
If the command is not found:
228+
222229
- Check PATH: `echo $PATH`
223230
- Verify the binary exists: `ls -la /usr/local/bin/devtunnel`
224231
- Add to PATH if needed: `export PATH=$PATH:/usr/local/bin`
@@ -253,7 +260,7 @@ This shows your current authentication status (will prompt login if not authenti
253260

254261
### Common Verification Issues
255262

256-
- **Command not found:**
263+
- **Command not found:**
257264
- Restart your terminal
258265
- Verify PATH includes the installation directory
259266
- Use full path to executable
@@ -279,6 +286,7 @@ devtunnel login
279286
```
280287

281288
This will:
289+
282290
1. Open your default web browser
283291
2. Prompt you to sign in with your Microsoft account or Azure AD account
284292
3. Complete the authentication flow
@@ -287,11 +295,13 @@ This will:
287295
### Login Options
288296

289297
**Interactive login (default):**
298+
290299
```bash
291300
devtunnel login
292301
```
293302

294303
**Login with specific account:**
304+
295305
```bash
296306
devtunnel login --allow-no-browser
297307
```
@@ -307,6 +317,7 @@ devtunnel user show
307317
```
308318

309319
This displays:
320+
310321
- Your authenticated user account
311322
- Account type (Microsoft Account or Azure AD)
312323
- Authentication status
@@ -349,6 +360,7 @@ devtunnel host -p 6001 -a
349360
```
350361

351362
**Flags explained:**
363+
352364
- `-p 6001`: Forwards local port 6001
353365
- `-a`: Makes tunnel accessible without authentication (anonymous/public)
354366

@@ -369,22 +381,26 @@ Press `Ctrl+C` in the terminal where the tunnel is running.
369381
### Common Usage Examples
370382

371383
**Expose a web application:**
384+
372385
```bash
373386
# Your app runs on localhost:3000
374387
devtunnel host -p 3000
375388
```
376389

377390
**Expose multiple ports:**
391+
378392
```bash
379393
devtunnel host -p 3000 -p 5000
380394
```
381395

382396
**Create a named tunnel:**
397+
383398
```bash
384399
devtunnel host -p 6001 --tunnel-id my-tunnel-name
385400
```
386401

387402
**Set tunnel protocol:**
403+
388404
```bash
389405
devtunnel host -p 6001 --protocol https
390406
```
@@ -394,23 +410,27 @@ devtunnel host -p 6001 --protocol https
394410
### Managing Tunnels
395411

396412
**List all tunnels:**
413+
397414
```bash
398415
devtunnel list
399416
```
400417

401418
**Delete a tunnel:**
419+
402420
```bash
403421
devtunnel delete <tunnel-id>
404422
```
405423

406424
**Show tunnel details:**
425+
407426
```bash
408427
devtunnel show <tunnel-id>
409428
```
410429

411430
### Tunnel Configuration
412431

413432
**Set tunnel access:**
433+
414434
```bash
415435
# Private tunnel (requires authentication)
416436
devtunnel host -p 6001
@@ -420,6 +440,7 @@ devtunnel host -p 6001 -a
420440
```
421441

422442
**Configure port forwarding:**
443+
423444
```bash
424445
# Forward to different host
425446
devtunnel host -p 6001 --host localhost
@@ -444,73 +465,86 @@ export DEVTUNNEL_LOG_LEVEL=debug
444465
#### Windows
445466

446467
**winget not found:**
468+
447469
- Update Windows to the latest version
448470
- Install winget manually from [Microsoft Store](https://aka.ms/getwinget)
449471
- Use alternative installation methods (PowerShell script or direct download)
450472

451473
**Permission denied:**
474+
452475
- Run terminal as Administrator
453476
- Check antivirus software isn't blocking installation
454477

455478
#### macOS
456479

457480
**Homebrew not found:**
481+
458482
- Install Homebrew: `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`
459483
- Use the installation script method instead
460484

461485
**Binary not executable:**
486+
462487
```bash
463488
chmod +x /usr/local/bin/devtunnel
464489
```
465490

466491
#### Linux
467492

468493
**Permission denied:**
494+
469495
```bash
470496
sudo chmod +x /usr/local/bin/devtunnel
471497
```
472498

473499
**Binary architecture mismatch:**
500+
474501
- Download the correct binary for your CPU architecture
475502
- Check architecture: `uname -m`
476503
- Use x64 for 64-bit Intel/AMD, ARM64 for ARM processors
477504

478505
### Authentication Issues
479506

480507
**Login fails:**
508+
481509
- Ensure you have an active internet connection
482510
- Try logging out and logging back in: `devtunnel logout` then `devtunnel login`
483511
- Clear browser cache and cookies
484512
- Check if your organization requires specific Azure AD permissions
485513

486514
**Browser doesn't open:**
515+
487516
- Use `--allow-no-browser` flag: `devtunnel login --allow-no-browser`
488517
- Manually copy the authentication URL from terminal output
489518

490519
**Authentication expired:**
520+
491521
- Re-authenticate: `devtunnel login`
492522
- Check system time is correct (authentication relies on accurate time)
493523

494524
### Tunnel Creation Issues
495525

496526
**No public endpoint printed:**
527+
497528
- Verify your local service is running on the specified port
498529
- Check firewall settings aren't blocking connections
499530
- Ensure you have internet connectivity
500531
- Try a different port number
501532

502533
**Port already in use:**
534+
503535
- Find the process using the port:
504536
- **Windows:** `netstat -ano | findstr :6001`
505537
- **macOS/Linux:** `lsof -i :6001` or `netstat -tulpn | grep 6001`
506538
- Stop the conflicting process or use a different port
507539

508540
**Connection refused:**
541+
509542
- Verify your local service is listening on `localhost` or `127.0.0.1`
510543
- Check if your service binds to `0.0.0.0` (all interfaces)
511544
- Ensure the service is actually running
512545

513546
**Tunnel disconnects frequently:**
547+
514548
- Check network stability
515549
- Verify firewall/antivirus isn't interfering
516550
- Check for proxy settings that might affect connections
@@ -520,32 +554,38 @@ sudo chmod +x /usr/local/bin/devtunnel
520554
#### Windows
521555

522556
**Firewall blocking:**
557+
523558
- Add devtunnel to Windows Firewall exceptions
524559
- Allow inbound connections for the tunnel port
525560

526561
**Antivirus interference:**
562+
527563
- Add devtunnel to antivirus exclusions
528564
- Temporarily disable to test if it's the cause
529565

530566
#### macOS
531567

532568
**Gatekeeper blocking:**
569+
533570
```bash
534571
# Remove quarantine attribute
535572
xattr -d com.apple.quarantine /usr/local/bin/devtunnel
536573
```
537574

538575
**System Integrity Protection (SIP):**
576+
539577
- If installing to protected directories, you may need to disable SIP (not recommended)
540578
- Install to user directory instead: `~/bin/devtunnel`
541579

542580
#### Linux
543581

544582
**Missing dependencies:**
583+
545584
- Install required libraries: `sudo apt-get install libssl-dev` (Debian/Ubuntu)
546585
- Check distribution-specific requirements
547586

548587
**SELinux blocking:**
588+
549589
- Configure SELinux policies if needed
550590
- Or set SELinux to permissive mode for testing (not recommended for production)
551591

@@ -630,4 +670,4 @@ xattr -d com.apple.quarantine /usr/local/bin/devtunnel
630670

631671
- [Microsoft Dev Tunnels Documentation](https://learn.microsoft.com/en-us/azure/developer/dev-tunnels/)
632672
- [Dev Tunnels GitHub Repository](https://github.com/microsoft/dev-tunnels)
633-
- [Dev Tunnels FAQ](https://learn.microsoft.com/en-us/azure/developer/dev-tunnels/faq)
673+
- [Dev Tunnels FAQ](https://learn.microsoft.com/en-us/azure/developer/dev-tunnels/faq)

0 commit comments

Comments
 (0)