Saltar al contenido

Heroku + node.js: tengo un servidor que usa varios puertos. ¿Cómo puedo hacer que Heroku los asigne?

Solución:

De acuerdo, después de investigar un poco, descubrí que abrir puertos en Heroku es discapacitado y No permitido.

los la única manera alrededor de esto es para usar subdominios y luego en la aplicación para usar un módulo proxy (como subdomain-router que yo uso).

PERO – Heroku no le permite crear subdominios en su dominio, lo que significa que your-app.herokuapp.com es fijo y no puede tener subdominios.
En los manuales de Heroku, le exigen que tenga su propio dominio y proveedor de dns para hacer tal cosa, creando un alias A (CNAME) en la tabla dns en la configuración de su dominio, que se referirá al dominio herokuapp de su aplicación, y luego usando El comando heroku domains:add para agregar su dominio a la lista de origen permitido.

Usted puede leer más aquí. Proporciona toda la información que necesita.

Espero que haya ayudado a algunos.

Sé que esta es una publicación antigua, pero quería proporcionar una respuesta actualizada para referencia y uso futuro:

Si está utilizando socket-io, la vinculación al mismo puerto es fácil. Otras bibliotecas websocket deberían tener un enfoque similar (de https://github.com/socketio/socket.io#how-to-use):

Junto con Express A partir de 3.0, las aplicaciones express se han convertido en funciones de manejo de solicitudes que se pasan a las instancias del servidor http o http. Debe pasar el servidor a socket.io, y no a la función de aplicación rápida. También asegúrese de llamar a .listen en el servidor, no en la aplicación.

const app = require('express')();
const server = require('http').createServer(app);
const io = require('socket.io')(server);
io.on('connection', () => { /* … */ });
server.listen(3000);

Ahora tendrá tráfico http y ws fluyendo a través de un solo puerto (Heroku no enruta http / tcp por separado, si lo hiciera, sus websockets no funcionarían).

Prefiero este método debido a la paridad y las pruebas del entorno, es decir, no es necesario configurar subdominios o enrutamiento de puertos

También aprendí sobre esto hoy, aprendí que si ejecuta un servicio en un puerto en Heroku, aún puede acceder a él localmente. No funcionaría para la preocupación del usuario anterior, pero solucionó mi problema, lo que me llevó a esta pregunta.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *