Dela via


Lokalt tunnelverktyg för Azure Web PubSub

Web PubSub lokal tunnel ger en lokal utvecklingsmiljö för kunder för att förbättra sin lokala utvecklingsupplevelse. Du behöver inte längre använda verktyg från tredje part för att exponera lokala portar. Använd lokal Web PubSub-tunnel som tunnel mellan Web PubSub-tjänsten och din lokala server för att skydda din lokala utvecklingsmiljö.

Lokal Web PubSub-tunnel tillhandahåller:

  • Ett sätt att tunneltrafik från Web PubSub till din lokala server
  • Ett sätt att visa dataflödet från slutpunkt till slutpunkt från klienten till Web PubSub genom tunneln och till din lokala server
  • Tillhandahåller en inbäddad överordnad server som du kan komma igång med
  • Tillhandahåller en enkel klient som du kan använda för att komma igång med serverutvecklingen

Fördelar:

  • Skyddad lokal: du behöver inte exponera den lokala servern för offentlig
  • Skyddad anslutning: Använd Åtkomstprincip för Microsoft Entra-ID och Web PubSub för att ansluta
  • Enkel konfiguration: URL-malluppsättningar till tunnel:///<your_server_path>
  • Datainspektion: levande vy över data och arbetsflödet

Förutsättningar

  • Node.js version 16 eller senare

Installera

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

Användning

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.

Förbereda autentiseringsuppgifterna

Både niska veze och Microsoft Entra ID stöds.

Använda niska veze

  1. I webbportalen för PubSub-tjänsten kopierar du din niska veze från webbportalen för PubSub-tjänsten.

  2. Ange niska veze till din lokala miljövariabel och starta awps-tunnel.

export WebPubSubConnectionString="<your connection string>"

Använda Azure Identity

  1. I webbportalen för PubSub-tjänsten går du till fliken Åtkomstkontroll och lägger till roll Web PubSub Service Owner i din identitet.

  2. I din lokala terminal använder du Azure CLI az login för att logga in på din identitet.

  3. Du kan också ange kontoinformation via definierade miljövariabler eller använda hanterad identitetsautentisering direkt för Azure-tjänster som stöds.

Kör

  1. I webbportalen för PubSub-tjänsten går du till fliken Inställningar och anger den url-mall för händelsehanterare som ska börja med tunnel:/// för att tillåta tunnelanslutning.

    Skärmbild av hur du ställer in den överordnade URL:en i hubbinställningarna.

  2. Kör verktyget med den hubb som du angav innan, till exempel ansluta till en slutpunkt https://<awps-host-name>.webpubsub.azure.com med hubben chat:

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

    Du kan också använda awps-tunnel bind --hub chat --endpoint https://<awps-host-name>.webpubsub.azure.com för att spara konfigurationen och sedan awps-tunnel run.

  3. Du ser utdata som Open webview at: http://127.0.0.1:4000, öppnar länken i webbläsaren och du kan se tunnelstatusen och arbetsflödet.

  4. Växla nu till fliken Server och markera Inbyggd Echo Server för att starta en inbyggd överordnad server med kod som liknar den exempelkod som visas under den.

    Skärmbild av att starta den inbyggda ekoservern.

  5. Du kan också starta en egen överordnad server på http://localhost:3000. Du kan också ange alternativ--upstream http://localhost:<custom-port> när awps-tunnel run eller awps-tunnel bind för att konfigurera din egen överordnade server på en anpassad port. Kör till exempel koden nedan för att starta den här exempeluppströmsservern, när den startar, hanterar den överordnade servern begäranden tillhttp://localhost:3000/eventhandler/.

    git clone https://github.com/Azure/azure-webpubsub.git
    cd tools/awps-tunnel/server/samples/upstream
    npm install
    npm start
    
  6. Växla nu till fliken Klient och välj Connect för att starta en websocket-testanslutning till Azure Web PubSub-tjänsten. Du skulle se att trafiken går via Web PubSub till lokal tunnel och slutligen når den överordnade servern. Fliken Tunnel innehåller information om begäran och svar, vilket ger dig en levande vy över vad som begär din överordnade server och vad som returneras från den överordnade servern.

    Skärmbild av att starta websocket-testanslutningen och skicka meddelandet.

    Skärmbild som visar trafikinspektionen.

Under huven

Hur fungerar tunnelverktyget? Under huven startar en tunnelanslutning till Web PubSub-tjänsten. Tunnelanslutning är en beständig anslutning (WebSocket) ansluter till /server/tunnel slutpunkten och anses vara en typ av serveranslutningar. Du kan också använda ACL-regler i tjänsten för att inaktivera sådana anslutningar från att ansluta.