Alat terowongan lokal Azure Web PubSub

Terowongan lokal Web PubSub menyediakan lingkungan pengembangan lokal bagi pelanggan untuk meningkatkan pengalaman pengembangan lokal mereka. Tidak perlu menggunakan alat pihak ketiga lagi untuk mengekspos port lokal, gunakan terowongan lokal Web PubSub sebagai terowongan antara layanan Web PubSub dan server lokal Anda untuk menjaga lingkungan pengembangan lokal Anda tetap aman dan aman.

Terowongan lokal Web PubSub menyediakan:

  • Cara untuk terowongan lalu lintas dari Web PubSub ke server lokal Anda
  • Cara untuk melihat aliran data end-to-end dari klien Anda ke Web PubSub melalui terowongan dan ke server lokal Anda
  • Menyediakan server upstream yang disematkan agar Anda dapat memulai
  • Menyediakan klien sederhana bagi Anda untuk memulai pengembangan server Anda

Keuntungan:

  • Lokal aman: tidak perlu mengekspos server lokal Anda ke publik
  • Koneksi aman: gunakan ID Microsoft Entra dan kebijakan akses Web PubSub untuk menyambungkan
  • Konfigurasi sederhana: Set templat URL ke tunnel:///<your_server_path>
  • Inspeksi data: tampilan data dan alur kerja yang cerah

Prasyarat

  • Node.js versi 16 atau lebih tinggi

Instal

npm install -g @azure/web-pubsub-tunnel-tool

Penggunaan

Usage: awps-tunnel [options] [command]

A local tool to help tunnel Azure Web PubSub traffic to local web app and provide a vivid view to the end to end workflow.

Options:
  -v, --version   Show the version number.
  -h, --help      Show help details.

Commands:
  status          Show the current configuration status.
  bind [options]  Bind configurations to the tool so that you don't need to specify them every time running the tool.
  run [options]   Run the tool.
  help [command]  Display help details for subcommand.

You could also set WebPubSubConnectionString environment variable if you don't want to configure endpoint.

Menyiapkan kredensial

Id string koneksi dan Microsoft Entra didukung.

Menggunakan string koneksi

  1. Di portal layanan Web PubSub Anda, salin string koneksi Anda dari portal layanan Web PubSub Anda.

  2. Atur string koneksi ke variabel lingkungan lokal Anda dan mulai awps-tunnel.

export WebPubSubConnectionString="<your connection string>"

Menggunakan Azure Identity

  1. Di portal layanan Web PubSub Anda, buka tab Kontrol akses, dan tambahkan peran Web PubSub Service Owner ke identitas Anda.

  2. Di terminal lokal Anda, gunakan Azure CLIaz login untuk masuk ke identitas Anda.

  3. Atau, Anda dapat mengatur informasi akun melalui variabel lingkungan yang ditentukan, atau menggunakan autentikasi identitas terkelola secara langsung untuk layanan Azure yang didukung.

jalankan

  1. Di portal layanan Web PubSub Anda, buka tab Pengaturan, tentukan templat URL penanganan aktivitas untuk memulai untuk tunnel:/// mengizinkan koneksi terowongan.

    Screenshot of setting the upstream URL in hub settings.

  2. Jalankan alat dengan hub yang Anda tetapkan sebelumnya, misalnya, sambungkan ke titik https://<awps-host-name>.webpubsub.azure.com akhir dengan hub chat:

    awps-tunnel run --hub chat --endpoint https://<awps-host-name>.webpubsub.azure.com
    

    Anda juga dapat menggunakan awps-tunnel bind --hub chat --endpoint https://<awps-host-name>.webpubsub.azure.com untuk menyimpan konfigurasi lalu awps-tunnel run.

  3. Anda melihat output seperti Open webview at: http://127.0.0.1:4000, buka tautan di browser Anda dan Anda dapat melihat status terowongan dan alur kerja.

  4. Sekarang beralih ke tab Server , dan periksa Echo Server bawaan untuk memulai server upstream bawaan dengan kode yang mirip dengan kode sampel yang ditunjukkan di bawahnya.

    Screenshot of starting built-in echo server.

  5. Atau, Anda dapat memulai server upstream Anda sendiri di http://localhost:3000. Anda juga dapat menentukan opsi--upstream http://localhost:<custom-port> kapan awps-tunnel run atau awps-tunnel bind untuk mengonfigurasi server upstream Anda sendiri di port kustom. Misalnya, jalankan kode di bawah ini untuk memulai sampel server upstream ini, saat dimulai, upstream melayani permintaan ke http://localhost:3000/eventhandler/.

    git clone https://github.com/Azure/azure-webpubsub.git
    cd tools/awps-tunnel/server/samples/upstream
    npm install
    npm start
    
  6. Sekarang beralih ke tab Klien , pilih Connect untuk memulai pengujian koneksi WebSocket ke layanan Azure Web PubSub. Anda akan melihat lalu lintas melewati Web PubSub ke Terowongan Lokal dan akhirnya mencapai server hulu. Tab terowongan menyediakan detail permintaan dan respons, memberi Anda tampilan jelas tentang apa yang meminta server hulu Anda dan apa yang ditunda dari server hulu.

    Screenshot of starting the test WebSocket connection and send message.

    Screenshot of showing the traffic inspection.

Di balik layanan

Bagaimana cara kerja alat terowongan? Di bawah kap itu memulai koneksi terowongan ke layanan Web PubSub. Koneksi terowongan adalah koneksi persisten (WebSocket) yang tersambung ke /server/tunnel titik akhir, dan dianggap sebagai salah satu jenis koneksi server. Anda juga dapat menggunakan aturan ACL dalam layanan untuk menonaktifkan koneksi tersebut agar tidak tersambung.