# ===============================================================================================================
# proyectosacc-api.conf - Configuración de Nginx para API de proyectosacc
# Descripción:
#       Proxy inverso EXCLUSIVO para la API backend. Nginx escucha en
#       puerto 80 y redirige /api/ hacia localhost:8080.
#       NO sirve el frontend React (eso es S3 + CloudFront).
#
# Uso:
#       Copiar a /etc/nginx/sites-available/proyectosacc-api y crear
#       enlace simbólico en sites-enabled.
#
# Autor: Área de Tecnología y Desarrollo - CCsoft
# ===============================================================================================================

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;

    # Proxy inverso hacia la API backend en localhost:8080
    location /api/ {
        proxy_pass http://localhost:8080/;
        proxy_http_version 1.1;

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Port $server_port;

        proxy_connect_timeout 60s;
        proxy_send_timeout 60s;
        proxy_read_timeout 60s;

        proxy_buffering off;
    }

    # Cualquier otra ruta en la EC2 debe devolver 404
    location / {
        return 404;
    }

    # Página de error genérica
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }
}
