Registrar la dirección IP del cliente en tus registros usando un middleware personalizado en FastAPI.
Paso 1: Configurar el entorno
Asegúrate de tener instalado FastAPI y cualquier otro módulo que necesites, como uvicorn
. Si no los tienes instalados, puedes hacerlo utilizando pip:
pip install fastapi uvicorn
Paso 2: Crear un proyecto de FastAPI
Crea un directorio para tu proyecto y crea un archivo Python, por ejemplo, main.py
.
Paso 3: Crear el middleware y la aplicación
Abre main.py
y comencemos a escribir el código. Primero, importa las bibliotecas necesarias y configura tu aplicación y logger personalizado:
from fastapi import FastAPI, Request import logging app = FastAPI() # Configura tu logger personalizado logger = logging.getLogger("my_logger") # Asegúrate de usar el nombre correcto de tu logger # Define un middleware personalizado async def capture_real_ip(request: Request, call_next): real_ip = request.headers.get("X-Real-IP") if real_ip: # Registra la dirección IP en tus logs utilizando el logger personalizado logger.info(f"IP del cliente: {real_ip}") else: host_ip = request.client.host # Registra la dirección IP en tus logs utilizando el logger personalizado logger.info(f"IP del cliente (usando host): {host_ip}") response = await call_next(request) return response # Agrega el middleware a la aplicación app.middleware("http")(capture_real_ip) # Ruta de ejemplo @app.get("/") async def read_root(): return {"message": "Hello, World!"}
Asegúrate de reemplazar "my_logger"
con el nombre correcto de tu logger personalizado en la línea logger = logging.getLogger("my_logger")
.
Paso 4: Ejecutar la aplicación
Para ejecutar tu aplicación, utiliza uvicorn
. Asegúrate de que main.py
esté en el directorio de trabajo actual:
uvicorn main:app --reload
Esto iniciará tu aplicación FastAPI en el servidor de desarrollo de uvicorn
.
Paso 5: Realizar una solicitud y verificar los registros
Abre un navegador web o utiliza una herramienta como curl o Postman para hacer una solicitud a tu aplicación FastAPI. Luego, verifica los registros generados por tu logger personalizado. Deberías ver la dirección IP registrada en tus registros.
Con estos pasos, has creado un middleware personalizado en FastAPI para registrar la dirección IP del cliente en tus registros utilizando tu logger personalizado. Puedes personalizar aún más tu middleware y registros según tus necesidades específicas.
Ingeniero en Informática, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.