# CONFIGURACIÓN MEJORADA DE NGINX PROXY MANAGER
# Copia y pega esta configuración en la sección "Custom Nginx Configuration" 
# de tu proxy en Nginx Proxy Manager

client_max_body_size 100M;

# Configuración específica para archivos de Nuxt (_nuxt/)
location /_nuxt/ {
    proxy_pass http://192.168.87.135:3000;
    proxy_set_header Host $http_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;
    
    # Headers específicos para assets de Nuxt
    proxy_set_header Accept-Encoding gzip;
    
    # Cache para assets estáticos
    proxy_cache_valid 200 1h;
    proxy_cache_bypass $http_pragma;
    proxy_cache_revalidate on;
    
    # NO usar upgrade headers para assets estáticos
    proxy_http_version 1.1;
}

# Configuración para APIs
location /api/ {
    proxy_pass http://192.168.87.135:3000;
    proxy_set_header Host $http_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;
    
    # Headers específicos para APIs
    proxy_set_header Content-Type application/json;
    proxy_set_header Accept application/json;
    
    # Timeouts más largos para archivos de música
    proxy_connect_timeout 60s;
    proxy_send_timeout 60s;
    proxy_read_timeout 60s;
    
    # Buffer settings para streaming de archivos grandes
    proxy_buffering off;
    proxy_request_buffering off;
    
    proxy_http_version 1.1;
}

# Configuración general para el resto
location / {
    proxy_pass http://192.168.87.135:3000;
    proxy_set_header Host $http_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;
    
    # NO incluir headers de WebSocket para evitar errores SSL
    proxy_http_version 1.1;
    
    # Timeouts
    proxy_connect_timeout 30s;
    proxy_send_timeout 30s;
    proxy_read_timeout 30s;
}

# Headers de seguridad adicionales
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";

# Logging para debugging (opcional)
access_log /var/log/nginx/musica_access.log;
error_log /var/log/nginx/musica_error.log warn;