La guía o código que verás en este post es la resolución más rápida y efectiva que encontramos a tus dudas o problema.
Solución:
Sí, es posible usar múltiples túneles simultáneosdentro del mismo hostname
!
Todo lo que necesita hacer es declararlos en su archivo de configuración, así:
authtoken: 4nq9771bPxe8ctg7LKr_2ClH7Y15Zqe4bWLWF9p
tunnels:
first-app:
addr: 50001
proto: http
hostname: example.ngrok.com
host_header: first-app.example.ngrok.com
second-app:
addr: 50002
proto: http
hostname: example.ngrok.com
host_header: second-app.example.ngrok.com
Y ejecutarlos con:
ngrok start --all
Busque en la documentación las opciones, como hostname
, subdomain
, authtoken
y host_header
. ¡Espero que esto te ayude!
PD Para el plan gratuito, elimine el host personalizado y la parte del encabezado como este, serán dominios diferentes para su información.
authtoken: 6yMXA63qefMZqCWSCHaaYq_5LufcciP1rG4LCZETjC6V
tunnels:
first:
addr: 3002
proto: http
second:
addr: 8080
proto: http
NOTAS:
-
Para encontrar su archivo de configuración predeterminado leer
https://ngrok.com/docs#default-config-location
. -
Todos los planes emiten un token de autenticación. Puedes encontrar el tuyo en el panel web:
https://dashboard.ngrok.com/get-started
Lo que funcionó para mí con ngrok con múltiples puertos
Así que tuve el problema donde necesitaba el mismo dominio la política de origen para trabajar para diferentes puertos, pero me detuve en seco porque, en última instancia, ngrok no es compatible con esto. Admiten un subdominio personalizado o un dominio personalizado, pero no en diferentes puertos, ya que todos deben pasar por el puerto 80.
en lugar de renunciartuve que hackear cosas juntos usando nginx localmente así:
http
server
listen 7777;
server_name localhost;
location /
proxy_pass http://127.0.0.1:5000;
location /api
proxy_pass http://127.0.0.1:8000;
Tuve la suerte de que el servidor api antepuso todas las llamadas “api” para poder enrutar las llamadas api a un puerto específico y seguir sirviendo el otro tráfico en otro servidor web y es posible que no tenga tanta suerte.
Luego configuré el servidor web público para enrutar todas las llamadas a la API a la misma dirección de ngrok y dejé que ngnix lo solucionara.
Espero que esto pueda ayudarlo a pensar en una combinación de soluciones para llegar allí, ya que pensar en una sola forma puede atascarlo como a mí.
Usé el proceso ngrok (en un dominio reservado) apuntando al puerto 80 localmente.
ngrok http 80
Localmente, tengo nginx ejecutando la siguiente configuración. Lo único que me importa son las 2 ubicaciones /admin y /api, ya que son para lo que antes estaba usando múltiples procesos de ngrok. nginx le permite usar el mismo túnel para ubicaciones separadas.
server
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
server_name _;
location /admin
proxy_pass http://127.0.0.1:3005;
location /api
proxy_pass http://127.0.0.1:5001;
Aquí tienes las comentarios y calificaciones
Si te ha resultado de provecho este artículo, te agradeceríamos que lo compartas con otros programadores y nos ayudes a difundir este contenido.