Tengo 2 API (una creada con Flask y la otra con FastAPI):
-- home -- app_flask main_flask.py -- app_fastapi main_fastapy.pyDefiní un punto final de obtención en ambos archivos:
matraz_principal.py
from flask import Flask app = Flask(__name__) @app.route("/hello_flask") def hello(): return {"result": "Welcome to Flask"}main_fastapi.py
from fastapi import FastAPI app = FastAPI() @app.get("/hello_fastapi") def hello(): return {"result": "Welcome to FastAPI"}El primero se ejecuta en el puerto 8000 y el segundo en el puerto 8001
Este es mi archivo /etc/nginx/sites-enabled/default:
server { listen 80; server_name {here_my_IP}; location /flask_app { proxy_pass http://127.0.0.1:8000; } location /fastapi_app { proxy_pass http://127.0.0.1:8001; } }Pero una vez que todo está funcionando, cuando accedo a
http://myIP/flask_app/hello_flasko
http://myIP/fastapi_app/hello_fastapime sale este error:
{"error":["404 - Resource Not Found"]}No recibo este error si uso la ubicación / {} en lugar de la ubicación / aplicación {} en el archivo Nginx predeterminado y luego accedo a
http://myIP/hello_fastapi (for example in the case of the first API)Así que concluyo que estoy enrutando incorrectamente las aplicaciones en el archivo Nginx de configuración predeterminada.
¿Cómo debería hacerlo?