Por defecto IIS 6.0 no permite que se suban archivos mayores de 200Kbytes. Esto se especifica en el parámetro AspMaxRequestEntityAllowed que marca el número máximo de bytes que se permiten en una request de ASP. Si el header Content-Length existe y especifica un valor mayor al del fijado por dicho parámetro, IIS devuelve el error 403.

Por otro lado, según el método usado para subir el archivo, nos hemos encontrado que a pesar de que dicho parámetro ya esté modificado, la subida sigue fallando. Eso se debe a otro parámetro involucrado en alguno de los métodos, el AspBufferingLimit, que suele estar a 4Mbytes.

Por ello si queremos permitir la subida de ficheros mayores a 4Mbytes mejor modificar ambos parámetros, o bien aumentar el primero y si no funciona aumentar además el segundo.

Para hacer esto tendremos que editar el archivo C:WindowsSystem32InetsrvMetabase.xml. Dicho archivo tiene la escritura bloqueada normalmente por el IIS, con lo que el proceso total para hacer esta tarea sería:

  • Entramos en el panel de control de IIS, click con el botón derecho sobre el servidor, seleccionar Properties y marcar la casilla Enable Direct Metabase Edit.

  • Editamos con Wordpad el archivo C:WindowsSystem32InetsrvMetabase.xml
  • Buscamos las siguientes dos entradas y las ponemos al valor de, por ejemplo, 10Mbytes:

AspBufferingLimit=”10485760″
AspMaxRequestEntityAllowed=”10485760″

  • Guardamos y, para que los cambios tengan efecto, tendremos que reiniciar el IIS (reiniciaremos el servicio World Wide Web Publishing Service).

Tengamos en cuenta que IIS 6.0 no permite aumentar dichos valores a más de 64Mbytes.