Herramienta de túnel local de Azure Web PubSub
El túnel local de Web PubSub proporciona un entorno de desarrollo local para que los clientes mejoren su experiencia de desarrollo local. Ya no es necesario usar herramientas de terceros para exponer puertos locales; use el túnel local de Web PubSub como túnel entre el servicio Web PubSub y el servidor local para mantener el entorno de desarrollo local seguro.
El túnel local de Web PubSub proporciona:
- Una manera de tunelizar el tráfico desde Web PubSub al servidor local
- Una manera de ver el flujo de datos de un extremo a otro desde el cliente a Web PubSub a través del túnel y al servidor local
- Proporciona un servidor ascendente insertado para empezar a trabajar
- Proporciona un cliente sencillo para empezar a trabajar con el desarrollo del servidor
Ventajas:
- Servidor local protegido: no es necesario exponer el servidor local al público
- Conexión protegida: use Microsoft Entra ID y la directiva de acceso de Web PubSub para conectarse
- Configuración sencilla: plantilla de dirección URL establecida en
tunnel:///<your_server_path>
- Inspección de datos: vista vívida de los datos y el flujo de trabajo
Requisito previo
- Node.js, versión 16 o posterior
Instalación
npm install -g @azure/web-pubsub-tunnel-tool
Uso
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.
Preparación de la credencial
Se admiten tanto la cadena de conexión como Microsoft Entra ID.
Uso de la cadena de conexión
En el portal del servicio Web PubSub, copie la cadena de conexión desde el portal del servicio Web PubSub.
Establezca la cadena de conexión en la variable de entorno local e inicie
awps-tunnel
.
export WebPubSubConnectionString="<your connection string>"
Uso de Azure Identity
En el portal del servicio Web PubSub, vaya a la pestaña Control de acceso y agregue el rol
Web PubSub Service Owner
a la identidad.En el terminal local, use la CLI de Azure
az login
para iniciar sesión en su identidad.Como alternativa, puede establecer la información de la cuenta a través de variables de entorno definidas o usar la autenticación de identidad administrada directamente para los servicios de Azure compatibles.
Ejecutar
En el portal del servicio Web PubSub, vaya a la pestaña Configuración y especifique la plantilla de dirección URL del controlador de eventos para empezar con
tunnel:///
y permitir la conexión de túnel.Ejecute la herramienta con el centro que estableció antes, por ejemplo, conéctese a un punto de conexión
https://<awps-host-name>.webpubsub.azure.com
con el centrochat
:awps-tunnel run --hub chat --endpoint https://<awps-host-name>.webpubsub.azure.com
También puede usar
awps-tunnel bind --hub chat --endpoint https://<awps-host-name>.webpubsub.azure.com
para guardar la configuración y, a continuación,awps-tunnel run
.Verá una salida como
Open webview at: http://127.0.0.1:4000
; abra el vínculo en el explorador y podrá ver el estado del túnel y el flujo de trabajo.Ahora cambie a la pestaña Servidor y active Servidor echo integrado para iniciar un servidor integrado ascendente con código similar al código de ejemplo que se muestra debajo.
Como alternativa, puede iniciar su propio servidor ascendente en http://localhost:3000. También puede especificar la opción
--upstream http://localhost:<custom-port>
cuandoawps-tunnel run
oawps-tunnel bind
para configurar su propio servidor ascendente en un puerto personalizado. Por ejemplo, ejecute el código siguiente para iniciar este servidor ascendente de ejemplo; cuando se inicia, el servidor ascendente atiende las solicitudes en http://localhost:3000/eventhandler/.git clone https://github.com/Azure/azure-webpubsub.git cd tools/awps-tunnel/server/samples/upstream npm install npm start
Ahora cambie a la pestaña Cliente y seleccione
Connect
para iniciar una conexión WebSocket de prueba al servicio Azure Web PubSub. Verá que el tráfico pasa a través de Web PubSub al túnel local y, por último, llega al servidor ascendente. La pestaña Túnel proporciona los detalles de la solicitud y las respuestas, lo que proporciona una vista vívida de lo que solicita el servidor del flujo ascendente y lo que se responde desde el servidor del flujo ascendente.
En segundo plano
¿Cómo funciona la herramienta de túnel? En segundo plano, inicia una conexión de túnel al servicio Web PubSub. La conexión de túnel es una conexión persistente (WebSocket) que se conecta al punto de conexión /server/tunnel
y se considera un tipo de conexiones de servidor. También puede usar reglas de ACL en el servicio para deshabilitar la conexión de dichas conexiones.