Cómo modificar las cabeceras de una petición con nginx

Escenario

Hay que migrar una servicio API a una nueva plataforma. Esto implica rehacer el código desde cero y al mismo tiempo respetar todos los endpoints y aceptar las peticiones de los clientes del API tal y como se estaban mandando hasta ahora.

Problema

Las peticiones del cliente vienen mal formadas: se estaban mandado usando el método POST, usando el valor «POST» para la clave «content-type» de la cabecera. «POST» no es un mime type conocido, por lo que el controlador devolvía una respuesta con el código de error 415 (Unsupported Media Type).

Solución

Para descubrir qué tipo de contenido se estaba mandando, primero tuve que añadir ese dato a los registros de servidor web (nginx): De esta manera pude confirmar que el tipo de contenido enviado era «POST»: Como ya he dicho, uno de los requisitos era respetar la manera en la que el cliente mandaba las peticiones, de modo que tuve que apañármelas a nivel de servidor para que, cuando llegara una petición con una cabecera cuya clave content-type fuera igual a «POST», cambiarla por «application/json». Con nginx es sencillo:

Publicaciones Similares

  • Instala un certificado SSL en tres pasos

    Escenario Todavía tienes una aplicación web, servida por nginx, a la que solo se puede acceder por http. Objetivo Instalar el certificado de SSL gratuito en tres pasos. Usaremos a modo de ejemplo el subdominio certbot.technoage.net. Pasos 1. Añadir el repositorio $ sudo add-apt-repository ppa:certbot/certbot 2. Instalar el paquete de cerbot para nginx $ sudo apt-get update && sudo apt-get install python-certbot-nginx 3. Obtener el certificado…

  • OsTicket y nginx

    Escenario Después de 5 años campando en un Ubuntu 16.04 ha llegado la hora de migrar la aplicación osTicket a un nuevo servidor. Para quien no la conozca osTicket es un sistema de incidencias que podemos desplegar en un servidor propio. La aplicación web cuenta con una herramienta que automáticamente detecta una diferencia de versiones…

  • Instalación certificado raíz Comodo

    Escenario Hemos migrado nuestro repositorio de git a un nuevo servidor y tenemos que actualizar las URLs de los orígenes de nuestros repositorios locales. Problema Cambiamos la url remota del repositorio local de git con el comando git remote set-url y, tras hacer un pull git nos devuelve el siguiente error: fatal: unable to access 'https://git.technoage.es/acme.git/': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none Solución Por lo visto nuestra…

  • Hibernate no puede resolver la propiedad…

    Escenario En una aplicación Spring Boot v2.3.4 hay dos entidades Balance y Shop. Una tienda (shop) puede tener varios saldos y un saldo (Balance) ha de estar relacionado con una tienda. Además existen panaderías (Bakery) y sastrerías (TailorShop) que extienden la clase Shop:

    Y necesito saber cuál es la fecha del…

  • Cómo forzar a Firefox para que use el explorador de ficheros del sistema

    Escenario Llevo tiempo lamentándome cada vez que, con Firefox, tengo que abrir el explorador de ficheros. Por ejemplo para elegir una fichero para subir a un sitio o elegir la carpeta donde quiero dejar un fichero que voy a descargar. Problema Firefox, en vez de usar el explorador de ficheros del sistema —en mi caso…

Deja una respuesta

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