Si utilizas IIS como servidor de tus aplicaciones web y éstas permiten subir archivos al servidor, es posible que tú (o tus clientes) se hayan encontrado con errores 404 al subir archivos de determinado tamaño. Dado que son posibles diversas causas para el error 404, lo primero que debes hacer es asegurar que el problema está realmente en la longitud del archivo subido. Para ello, es necesario revisar el log de IIS, en concreto el del sitio web que está produciendo el error. ¿Dónde está el fichero de log del sitio web? Generalmente, IIS está configurado de forma predeterminada para guardar los archivos de log en la ruta %SystemDrive%\inetpub\logs\LogFiles. Si navegas a esa carpeta, encontraras tantas carpetas como sitios web tengas con el nombre ‘W3SVCn‘, siendo la ‘n’ final un número que identifica el ID único de cada sitio web definido en IIS ¿Cómo se cual es el ID único del sitio web que da problemas? Lo ves desde la consola de administración de IIS, haciendo clic en el sitio web que corresponda y clicando luego en ‘Configuración avanzada‘. Ahora que ya sabes que carpeta abrir, es posible que tengas varios ficheros de nombre ‘u_exnnnnnn.log‘, siendo ‘nnnnnn’ seis digitos que identifican de forma única cada fichero. Estos ficheros se crean por omisión cada día. Ordénalos por fecha y abre con un editor de texto (Notepad++ es una buena opción) revisa el que corresponda a la fecha del error. Verás un montón de líneas que corresponden con información sobre las tareas que ha realizado el servidor en este sitio. Localiza la cadena ‘404’ y mira el nº que aparece tras éste. Es la sub-versión del error y si es 13, definitivamente es un problema de longitud de archivo. ¿Cómo admito una longitud mayor?
Abre la consola de IIS
Haz clic sobre el sitio web a modificar
Abre el ‘Editor de configuración’ en el área de Administración, a la derecha
Localiza y expande la rama ‘requestLimits‘
Modifica el valor ‘maxAllowedRequestLength’ y establécelo en el valor que necesites (el valor máximo es 4294967295 que equivale a 4 GB)
Ten en cuenta que una subida tan grande puede producir el cierre de la sesión, por lo que te convendrá modificar:
El estado de la sesión: suponiendo que usas ASP.NET, dentro de este apartado en IIS, localiza el icono ‘Estado de la sesión‘ y establece un valor alto en ‘Tiempo de espera‘
Autenticación: si usas la autenticación por formularios en IIS, localiza el icono ‘Autenticación’ en el grupo IIS, clic en ‘Autenticación mediante formularios’ y luego clic en ‘Modificar’. En la ventana que se abre, cambia ‘Tiempo de espera de cookie de autenticación‘ y establécelo en un valor alto pero inferior al del estado de la sesión.
Espero que te sirva de ayuda!