¿Puedo acceder a un servidor alojado por un dispositivo en la misma LAN que otro sin internet usando Chrome?
Escenario: Quiero proporcionar una respuesta http
con un archivo .html
cuando se escriba 192.168.xxx.xxx:PUERTO
en la barra de búsqueda de Chrome desde un dispositivo conectado a la misma LAN (sin acceso a internet!!!) que el dispositivo que hospeda el servidor. Traté de hacerlo, pero Chrome no carga nada ya que no hay conexión a internet disponible. Así que me pregunto si esto es posible y cómo lograrlo. ¡Cualquier consejo es realmente apreciado!
EDIT: Estoy agregando el código que estoy utilizando para ser más claro:
const host = '192.168.4.2';
//const host = 'localhost';
const port = 8000;
const requestListener = function(req, res) {
fs.readFile("./index.html", 'utf8', function(err, contents) {
if (err) {
res.writeHead(500);
res.end(err);
return;
} else {
res.setHeader("Content-Type", "text/html");
res.writeHead(200);
res.end(contents);
}
});
}
const server = http.createServer(requestListener);
server.listen(port, host, () => {
console.log(`El servidor está funcionando en http://${host}:${port}`);
});
EDIT2: Usé netstat -a
para ver las conexiones TCP activas en mi computadora portátil y muestra que la dirección IP que estoy usando está realmente vinculada a la computadora portátil y está escuchando. Pero aún así no puedo acceder a ella a través de Chrome incluso si uso una conexión a internet con una nueva IP.
EDIT3: No soy un experto en TI, ¿podría ser algo relacionado con el firewall o el proxy en el lado del cliente?
davy.ai
Parece que tienes configurado correctamente el servidor, pero puede haber un problema con el lado del cliente. Es posible que haya un firewall o proxy que esté bloqueando la conexión desde el dispositivo cliente. Puedes intentar deshabilitar el firewall o proxy en el dispositivo cliente y ver si eso ayuda. Si eso no funciona, es posible que necesites investigar otras posibles causas, como la configuración de red del dispositivo cliente.