Estoy tratando de ejecutar una aplicación Flask localmente y me encuentro con problemas de conexión a localhost rechazados. La estructura del directorio de mi aplicación se parece a esto:
Directory - index.py - app.py auth -- init.py Contents of `init.py` from flask import Flask,redirect from werkzeug.middleware.dispatcher import DispatcherMiddleware from werkzeug.serving import run_simple from index import application as dashApp @server_auth.route('/dashboard') @login_required def dashboard(): return redirect('/dashboard') app = DispatcherMiddleware(server_auth, {'/dashboard': dashApp.server}) # Change to port 80 to match the instance for AWS EB Environment if __name__ == '__main__': run_simple('0.0.0.0', 80, app, use_reloader=True, use_debugger=True) Lanzo la aplicación usando gunicorn auth:app .
[2022-02-11 20:57:24 -0800] [2273] [INFO] Starting gunicorn 20.1.0 [2022-02-11 20:57:24 -0800] [2273] [INFO] Listening at: http://127.0.0.1:8000 (2273) [2022-02-11 20:57:24 -0800] [2273] [INFO] Using worker: sync [2022-02-11 20:57:24 -0800] [2274] [INFO] Booting worker with pid: 2274He intentado algunas cosas para solucionar el problema.
netstat -avn | grep 8000 tcp4 0 0 127.0.0.1.8000 *.* LISTEN 131072 131072 2273 0 0x0100 0x00000006 Apagó el firewall , vació el flushed dns cache , borre browser cache como se menciona en este enlace:
https://www.hostinger.com/tutorials/localhost-reused-to-connect-error
Con información limitada dada, le sugiero que pruebe algunas otras cosas:
python init.pySi la otra respuesta de @Vismay no funciona, intente cambiar su puerto de 80 a 8080. Como no proporcionó información mínima, es posible que otros servicios utilicen el puerto 80
¿Podría intentar ejecutar lsof -i:80 y lsof -i:8000 para determinar si se utilizan?
Tal vez su problema esté relacionado con " # Change to port 80 to match the instance for AWS EB Environment ". Suponiendo que está tratando de ejecutarlo localmente, considere que en Linux "Necesita root para ejecutar en el puerto 80" (es decir, use Sudo para ejecutar su servidor), mientras que en Windows, los puertos por debajo de 1024 generalmente se consideran puertos privilegiados y pueden necesitar un similar solución. ¿Como arreglar? Intente usar un puerto diferente para su aplicación Flask (por ejemplo, 5000).
En otro caso, parece que Elastic Beanstalk solo usa el puerto 80 para el tráfico entrante (conexión con otras instancias), por lo que tal vez debería intentar usar un puerto diferente. Por ejemplo, en esta parte de los documentos de EB solo usan el puerto 8000. Esta parece ser la misma conclusión a la que se llegó en otra pregunta SO: Ejecutar el puerto 80 de Flask en Elastic-Beanstalk Worker
El trabajador de ELB está conectado a una cola de SQS mediante un demonio que escucha esa cola y (internamente) publica cualquier mensaje en http://localhost:80. Apache está escuchando en el puerto 80. (...) Entonces, la solución que encontré es cambiar en qué puerto publica el demonio local; al reconfigurarlo a través de un archivo de configuración YAML, se publicará en el puerto 5001, donde mi aplicación Flask estaba corriendo Esto significa que Apache puede continuar manejando las comprobaciones de estado en el puerto 80 y Flask puede manejar los mensajes SQS del daemon.