Erreur 403 lorsque vous chargez un fichier volumineux à l’aide d’une requête ASP dans Internet Information Services
Cet article vous aide à résoudre le problème qui se produit lorsque vous utilisez une demande Active Server Pages pour charger un fichier volumineux sur un ordinateur sur lequel Internet Information Services (IIS) 8.0 ou version ultérieure est installé.
Version du produit d’origine : Internet Information Services
Numéro de la base de connaissances d’origine : 327659
Symptômes
Importante
Cet article contient des informations sur la modification de la métabase. Avant de modifier la métabase, vérifiez que vous disposez d’une copie de sauvegarde que vous pouvez restaurer en cas de problème. Pour plus d’informations sur la procédure à suivre, consultez la rubrique d’aide sur la sauvegarde/restauration de la configuration dans Microsoft Management Console (MMC).
Lorsque vous utilisez une requête ASP (Active Server Pages) pour charger un fichier volumineux sur un ordinateur sur lequel est installé Internet Information Services (IIS) 8.0 ou version ultérieure, le chargement peut échouer. Vous pouvez également recevoir une réponse d’erreur 403 ou un message d’erreur similaire à l’un des éléments suivants :
Message d’erreur 1
Erreur d’objet de requête « ASP 0104 : 80004005 » Opération non autorisée
Message d’erreur 2
007~ASP 0104~Opération non autorisée
Lorsque vous publiez un grand nombre de données de formulaire sur une page ASP, vous pouvez recevoir un message d’erreur semblable au suivant :
L’erreur « 80020009 » exception s’est produite
En outre, le chargement du fichier peut échouer lorsque vous utilisez la Response.binaryWrite
méthode .
Vous rencontrez un ou plusieurs de ces symptômes, même si le même chargement de fichier fonctionnait dans les versions antérieures d’IIS.
Cause
Ce problème se produit si un Content-Length
en-tête est présent et si l’en-tête Content-Length
spécifie une quantité de données supérieure à la valeur de la AspMaxRequestEntityAllowed
propriété dans la métabase IIS. La valeur par défaut de la AspMaxRequestEntityAllowed
propriété est de 204 800 octets.
Remarque
Cette propriété de métabase a été incluse pour la première fois dans la mise à jour cumulative d’octobre 2002 pour IIS. Cette propriété de métabase est incluse dans une installation par défaut d’IIS 8.0 ou versions ultérieures.
Résolution
Avertissement
Si vous modifiez la métabase de manière incorrecte, vous risquez de provoquer de graves problèmes qui peuvent vous obliger à réinstaller n’importe quel produit qui utilise la métabase. Microsoft ne peut pas garantir que les problèmes qui résultent si vous modifiez la métabase de manière incorrecte peuvent être résolus. Modifiez la métabase à vos propres risques.
Remarque
Sauvegardez toujours la métabase avant de la modifier.
Pour résoudre ce problème, modifiez la valeur de la AspMaxRequestEntityAllowed
propriété pour définir le nombre maximal d’octets autorisés dans le corps d’entité d’une requête ASP. Pour cela, procédez comme suit :
À l’invite de commandes, tapez
cd drive :\inetpub\adminscripts
, puis appuyez sur Entrée.Remarque
Dans cette commande pour modifier les dossiers, lecteur est un espace réservé pour le disque dur sur lequel IIS est installé.
À l’invite de commandes, tapez la commande
cscript adsutil.vbs set w3svc/ASPMaxRequestEntityAllowed size
, puis appuyez sur Entrée.Remarque
Dans cette commande, size est un espace réservé pour le chargement de la plus grande taille de fichier que vous souhaitez autoriser. La valeur maximale est 1 073 741 824 octets. Définissez cette valeur sur la valeur la plus faible possible qui autorise les fonctionnalités souhaitées.
À l’invite de commandes, tapez la commande
iisreset
, puis appuyez sur Entrée.
Informations supplémentaires
La AspMaxRequestEntityAllowed
propriété spécifie le nombre maximal d’octets autorisés dans le corps d’entité d’une requête ASP. Si un Content-Length
en-tête est présent et si l’en-tête Content-Length
spécifie une quantité de données supérieure à la valeur de la AspMaxRequestEntityAllowed
propriété, IIS renvoie une réponse d’erreur 403. La AspMaxRequestEntityAllowed
propriété s’applique uniquement aux PUT
requêtes et aux POST
requêtes. La AspMaxRequestEntityAllowed
propriété ne s’applique pas aux GET
requêtes. Étant donné que cette propriété de métabase s’applique uniquement à ASP, les autres extensions ISAPI (Internet Server API) ne sont pas affectées.
La AspMaxRequestEntityAllowed
propriété est liée en fonction à la MaxRequestEntityAllowed
propriété . Toutefois, la AspMaxRequestEntityAllowed
propriété est spécifique aux requêtes ASP. Vous pouvez définir la propriété sur MaxRequestEntityAllowed
1 mégaoctet (Mo) au niveau du service WWW (World Wide Web Publishing Service). Ensuite, vous pouvez définir la AspMaxRequestEntityAllowed
propriété sur une valeur inférieure si vous savez que vos applications ASP spécifiques gèrent une plus petite quantité de données.