Bagikan melalui


Referensi baris perintah terowongan dev

Terowongan dev menawarkan alat antarmuka baris perintah (CLI) untuk membuat dan mengelola terowongan dev. Artikel ini menjelaskan sintaksis dan parameter untuk berbagai devtunnel perintah CLI.

Penting

Fitur ini masih dalam pratinjau umum. Versi pratinjau ini disediakan tanpa perjanjian tingkat layanan, dan tidak disarankan untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas.

Catatan

devtunnel Perintah CLI sedang dalam pratinjau. Nama dan opsi perintah dapat berubah dalam rilis mendatang.

Opsi global

  • -v, --verbose: Aktifkan output verbose.
  • -?, -h, --help: Tampilkan bantuan dan informasi penggunaan.

Mengelola kredensial pengguna

Layanan terowongan dev memerlukan login untuk mengotorisasi manajemen dan akses ke terowongan dev. Secara default, terowongan dev hanya dapat diakses oleh pengguna yang membuat terowongan dev, meskipun pengguna tersebut dapat memberikan akses ke orang lain.

Setelah masuk, token masuk di-cache dalam rantai kunci aman sistem, dan berlaku selama beberapa hari sebelum kedaluwarsa. Keluar dari CLI menghapus token yang di-cache ini, tetapi tidak menghapus cookie browser apa pun. Yang mungkin termasuk token akses terowongan dev jika browser digunakan untuk mengautentikasi dengan terowongan dev.

Perintah Deskripsi
devtunnel user login Masuk dengan akun Microsoft atau GitHub.
devtunnel user logout Menghapus token yang di-cache
devtunnel user show Tampilkan status masuk saat ini

Tip

devtunnel login dan devtunnel logout merupakan perintah singkat untuk masuk dan keluar.

Berikut adalah beberapa contoh penggunaan perintah ini:

Contoh Deskripsi
devtunnel user login Masuk dengan organisasi Microsoft (ID Microsoft Entra) atau akun pribadi
devtunnel user login -g Masuk dengan akun GitHub
devtunnel user login -d Masuk dengan akun GitHub dengan login kode perangkat, jika login browser interaktif lokal tidak dimungkinkan
devtunnel user login -g -d Masuk dengan akun GitHub dengan login kode perangkat, jika login browser interaktif lokal tidak dimungkinkan

Menghosting terowongan dev

devtunnel host adalah perintah utama yang digunakan untuk menghosting terowongan dev Anda. Perintah harus dijalankan pada sistem host yang menjalankan server yang ingin Anda akses melalui terowongan dev.

Perintah Deskripsi
devtunnel host Host terowongan dev. Jika ID terowongan dev tidak ditentukan, terowongan dev sementara baru dibuat yang dihapus setelah koneksi ditutup.

Berikut adalah beberapa contoh penggunaan perintah ini:

Contoh Deskripsi
devtunnel host -p 3000 Host terowongan dev sementara untuk server yang mendengarkan port 3000 pada sistem host.
devtunnel host -p 3000 --allow-anonymous Host terowongan dev sementara dan aktifkan akses klien anonim.
devtunnel host -p 3000 5000 Host terowongan dev sementara untuk server lokal yang mendengarkan di port 3000 dan 5000.
devtunnel host -p 8443 --protocol https Host terowongan dev sementara untuk server yang mendengarkan di port 8443 yang menggunakan protokol HTTPS.
devtunnel host -p 8000 --expiration 2d Host terowongan dev sementara dengan waktu kedaluwarsa kustom. Minimum adalah 1 jam (1 jam) dan maksimum adalah 30 hari (30d).
devtunnel host TUNNELID Host terowongan dev yang ada yang sebelumnya telah dikonfigurasi.

Peringatan

Mengizinkan akses anonim ke terowongan dev berarti siapa pun di internet dapat terhubung ke server lokal Anda, jika mereka dapat menebak ID terowongan dev.

Tekan Control-C untuk menghentikan proses host terowongan dev dan mengakhiri koneksi klien apa pun melalui terowongan pengembangan. Jika terowongan dev yang ada tidak disediakan, terowongan dev yang secara otomatis dibuat oleh proses akan dihapus saat proses keluar.

Koneksi ke terowongan dev

Menggunakan UI penerusan web:

Perintah devtunnel host menunjukkan output yang mirip dengan yang berikut ini:

Hosting port 3000 at https://l3rs99qw-3000.usw2.devtunnels.ms/

URI yang ditampilkan https: unik untuk port terowongan dev: komponen pertama adalah subdomain yang berisi id terowongan dev dan nomor port yang diberikan.

Jika port yang dihosting terhubung ke server web, maka URI tersebut dapat dibuka langsung di browser, dari mana saja. Jika akses ke terowongan dev memerlukan otorisasi, maka permintaan awal ke URI akan dialihkan ke halaman masuk, dan kembali ke situs setelah pengguna diotorisasi.

Jika port yang dihosting terhubung ke layanan web, maka URI tersebut dapat digunakan sebagai URI dasar oleh aplikasi klien layanan web. Namun, jika terowongan dev tidak mengizinkan akses anonim, klien layanan web biasanya tidak akan tahu cara mengautentikasi. Jika layanan web aman untuk diekspos secara publik, pertimbangkan untuk mengizinkan akses anonim. Jika tidak, klien layanan web dapat menambahkan header permintaan dengan token akses terowongan dev untuk mengotorisasi koneksi.

Menggunakan CLI:

Alih-alih memiliki browser klien atau aplikasi yang terhubung langsung ke URI relai terowongan dev, CLI dapat digunakan untuk meneruskan koneksi dari port pada klien ke port terowongan dev. Klien mungkin juga perlu masuk, jika terowongan dev tidak mengizinkan akses anonim.

devtunnel connect TUNNELID
  • Ganti TUNNELID dengan id terowongan dev yang sama yang digunakan pada host.

Output klien yang berhasil mirip dengan yang berikut ini:

Connected to tunnel: l3rs99qw
SSH: Forwarding from 127.0.0.1:3000 to host port 3000.
SSH: Forwarding from [::1]:3000 to host port 3000.

Sekarang, server yang dibagikan pada port host 3000 tersedia di localhost:3000 klien, menggunakan IPv4 atau IPv6. (Awalan "SSH" adalah karena layanan terowongan dev dibangun pada protokol SSH standar untuk penerusan port.) Jika port yang dihosting tersambung ke server web, maka http://localhost:3000/ dapat dibuka di browser. Dalam hal ini, tidak ada otorisasi lebih lanjut yang diperlukan karena token masuk CLI klien digunakan untuk mengotorisasi koneksi jika perlu.

Tingkat Lanjut: Mengelola terowongan dev

Dimungkinkan untuk membuat terowongan dev tanpa menghostingnya. Ini berguna untuk konfigurasi dan manajemen terowongan dev tingkat lanjut seperti:

  • Mencantumkan semua terowongan dev yang dimiliki
  • Menambahkan dan menghapus port terowongan dev
  • Mengelola kontrol akses terowongan dev
  • Menambahkan metadata ke terowongan dev seperti deskripsi dan tag
Perintah Deskripsi
devtunnel create Membuat terowongan dev persisten
devtunnel list Mencantumkan terowongan dev
devtunnel show Tampilkan detail terowongan dev
devtunnel update Memperbarui properti terowongan dev
devtunnel delete Menghapus terowongan dev
devtunnel delete-all Menghapus semua terowongan dev

Berikut adalah beberapa contoh penggunaan perintah ini:

Contoh Deskripsi
devtunnel create -a Buat terowongan dev persisten yang memungkinkan akses anonim.
devtunnel create -d 'my tunnel description' Buat terowongan dev persisten dengan deskripsi yang tidak dapat dicari.
devtunnel create --expiration 4h Buat terowongan dev persisten dengan waktu kedaluwarsa kustom. Minimum adalah 1 jam (1 jam) dan maksimum adalah 30 hari (30d).
devtunnel create myTunnelID Buat terowongan dev persisten dengan ID terowongan kustom.
devtunnel create --tags my-web-app v1 Buat terowongan dev persisten dan terapkan tag yang dapat dicari.
devtunnel list --tags my-web-app Mencantumkan terowongan dev yang memiliki salah satu tag yang ditentukan.
devtunnel list --all-tags my-web-app v1 Mencantumkan terowongan dev yang memiliki semua tag yang ditentukan.
devtunnel show Tampilkan detail terowongan dev yang terakhir digunakan.
devtunnel show TUNNELID Tampilkan detail untuk terowongan dev.
devtunnel update TUNNELID -d 'my new tunnel description' Perbarui deskripsi terowongan dev.
devtunnel update TUNNELID --remove-tags Hapus semua tag dari terowongan dev.
devtunnel update TUNNELID --expiration 10d Perbarui terowongan dev dengan waktu kedaluwarsa kustom baru. Minimum adalah 1 jam (1 jam) dan maksimum adalah 30 hari (30d).
devtunnel delete TUNNELID Menghapus terowongan dev.
devtunnel delete-all Hapus semua terowongan dev Anda.

Tip

Sebagian besar perintah CLI beroperasi pada terowongan dev yang terakhir digunakan secara implisit, meskipun ada opsi untuk menentukan ID terowongan dev jika perlu.

Tingkat Lanjut: Mengelola port terowongan dev

Terowongan dev yang dibuat menggunakan devtunnel create perintah awalnya tidak memiliki port. Gunakan devtunnel port perintah untuk menambahkan port sebelum menghosting:

Perintah Deskripsi
devtunnel port create Membuat port terowongan dev
devtunnel port list Mencantumkan port terowongan dev
devtunnel port show Tampilkan detail port terowongan dev
devtunnel port update Memperbarui properti port terowongan dev
devtunnel port delete Menghapus port terowongan dev
Contoh Deskripsi
devtunnel port create -p 3000 --protocol http Menambahkan port dengan protokol yang ditentukan
devtunnel port list TUNNELID Mencantumkan port saat ini
devtunnel port show TUNNELID -p 3000 Tampilkan detail untuk port 3000
devtunnel port update -p 3000 --description 'frontend port' Memperbarui deskripsi port terowongan dev
devtunnel port delete -p 3000 Menghapus port

Saat membuat port, protokol dapat ditentukan secara opsional, jika deteksi otomatis tidak berfungsi dengan baik. Opsi saat ini adalah "http", "https" atau "auto" (default). Jika port yang dihosting adalah HTTPS, maka disarankan untuk mengatur protokol port ke "https"; jika tidak, "otomatis" mungkin baik-baik saja.

Setelah mengonfigurasi terowongan dev menggunakan perintah di atas, mulai hosting:

devtunnel host

Tingkat Lanjut: Mengelola akses terowongan dev

Dengan perintah berikut, token akses terowongan dev dapat dikeluarkan untuk menyediakan akses klien lain ke terowongan dev Anda tanpa mengizinkan akses anonim. Perintah entri kontrol akses memungkinkan Anda mengonfigurasi kontrol akses pada terowongan dev dan port terowongan dev.

Perintah Deskripsi
devtunnel token Mengeluarkan token akses terowongan dev
devtunnel access create Membuat entri kontrol akses
devtunnel access list Mencantumkan entri kontrol akses
devtunnel access delete Menghapus entri kontrol akses
devtunnel access reset Mereset entri kontrol akses ke default

Berikut adalah beberapa contoh penggunaan perintah ini:

Contoh Deskripsi
devtunnel token TUNNELID --scopes connect Dapatkan token akses 'sambungkan' untuk terowongan pengembangan yang dapat dibagikan untuk menyediakan akses sementara ke terowongan pengembangan.
devtunnel access create TUNNELID --anonymous Aktifkan akses klien anonim pada terowongan dev.
devtunnel access create TUNNELID --anonymous --expiration 4h Aktifkan akses klien anonim pada terowongan dev dengan waktu kedaluwarsa kontrol akses kustom. Minimum adalah 1 jam (1 jam) dan maksimum adalah 30 hari (30d).
devtunnel access create TUNNELID --port 3000 --anonymous Aktifkan akses klien anonim pada port 3000.
devtunnel access create TUNNELID --tenant Aktifkan akses penyewa Microsoft Entra saat ini di terowongan pengembangan.
devtunnel access create TUNNELID --org ORG Aktifkan akses organisasi GitHub berdasarkan nama di terowongan dev.

Tip

Akses organisasi GitHub memerlukan penginstalan aplikasi Dev Tunnels GitHub ke dalam organisasi.

Perintah tambahan

Perintah ini dapat digunakan jika Anda perlu secara eksplisit mengatur atau membatalkan setel cache lokal terowongan dev yang terakhir digunakan ini.

Perintah Deskripsi
devtunnel set Mengatur terowongan dev default
devtunnel unset Menghapus terowongan dev default

Perintah diagnostik

Perintah Deskripsi
devtunnel clusters Mencantumkan kluster layanan yang tersedia menurut lokasi
devtunnel echo Menjalankan server gema diagnostik di port lokal
devtunnel ping Mengirim pesan diagnostik ke server gema jarak jauh
Contoh Deskripsi
devtunnel clusters --ping Mencantumkan kluster layanan yang tersedia yang diurutkan berdasarkan latensi terukur.
devtunnel echo http --port 8080 --interface 127.0.0.1 Mulai server diagnostik http lokal pada port 8080.

Pemecahan Masalah

Untuk memecahkan masalah dengan devtunnel CLI, tips berikut mungkin berguna:

  • Pastikan Anda menggunakan CLI versi devtunnel terbaru. Periksa versi yang saat ini diinstal dengan devtunnel --version.
  • Opsi --verbose mencetak pesan penelusuran kesalahan, yang dapat memberikan informasi diagnostik tambahan.