Un IIS 7.5 vient d'être installé sur un serveur dédié. Application Web ASP.NET 4.0 copiée dans son dossier, un nouveau site Web est créé sur sa propre IP sur le post 80, les comptes IIS_IUSR et IUSR ont des droits de lecture / exécution sur le dossier du site, le site est affecté à son propre pool d'applications intégré avec 4.0 .NET (J'ai essayé la piscine classique avec les mêmes résultats).
Le problème: lorsque j'essaie d'accéder à ce site Web, le navigateur charge uniquement le contenu généré par les ressources .NET telles que les pages aspx, les fichiers .axd, etc. Les images statiques, les fichiers statiques js, css et html sont dans la source de la page mais IIS ne le fait pas ne les sers pas. Les outils de développement de tous les navigateurs se plaignent que toutes ces ressources statiques ont été envoyées par le serveur avec un type de contenu incorrect (texte brut au lieu de l'image, des styles, etc.). Qu'est-ce que je fais mal?
Réponses:
IIS 7 / 7.5 a une nouvelle "fonctionnalité" - Services de rôle. Le message de rsbarro m'a rappelé qu'il existe un service de rôle qui est responsable du contenu statique. Il s'agit du serveur Web / des fonctionnalités HTTP communes / du contenu statique. Vérifiez si l'icône Types MIME est présente dans le Gestionnaire IIS, comme suggéré par rsbarro.
Dans le cas contraire, vous devez installer le service de rôle Contenu statique. Pour ce faire, sélectionnez:
D'après ce que vous décrivez, cela semble être votre problème.
En général, si IIS7 ne fait pas quelque chose que IIS6 a fait, la première chose à vérifier est de voir si le service de rôle correspondant est installé. J'espère que cela t'aides.
la source
Sous IIS, accédez à votre site Web et consultez la section Types MIME (voir l'image ci-dessous). Assurez-vous que vous voyez des entrées dans cette liste pour .js, .css, .html, etc., et qu'elles ont le type MIME approprié spécifié. IIS 7.5 ne diffusera des pages que si un type MIME est spécifié. Par défaut, les types MIME de ces extensions sont configurés dans le
applicationHost.config
fichier situé dans leC:\Windows\system32\inetsrv\config
dossier (vous devrez peut-être exécuter le bloc-notes en tant qu'administrateur pour afficher le fichier). Recherchez simplement .js et vous devriez trouver une entrée sous<mimeMap>
dans l'<staticContent>
élément.Ces paramètres peuvent être remplacés dans votre
web.config
fichier. S'ils le sont, ils apparaîtront à l'emplacement suivant dansweb.config
:Je commencerais certainement par vérifier là-bas. Si tout semble correct dans la section des types MIME, il est possible que vous ayez un module qui interfère avec les demandes de fichiers statiques (mais très probablement seulement si vous l'avez
<modules runAllManagedModulesForAllRequests="true" />
défini dans votre<system.webServer>
section). Si tel est le cas, je supprimerais tous les modules installés dans votreweb.config
ordinateur et voir si vous pouvez afficher les fichiers statiques, puis les lire un par un pour voir quel module est à l'origine du problème. Si vous ne pouvez pas le comprendre, je suggère de publier le contenu de votreweb.config
(ou du moins les sectionssystem.web
etsystem.webServer
) dans la question.la source
J'ai eu le même problème, mais mon pool d'applications fonctionnait sous un compte de domaine et cet utilisateur avait des droits sur le dossier du site Web. Mon site Web a rendu aspx mais aucun contenu statique. Ce qui a résolu mon problème a été d'ajouter le groupe IIS_IUSRS à la stratégie de sécurité locale appelée "emprunter l'identité d'un client après l'authentification". Le groupe IIS_IUSRS contenait mon compte de domaine. J'utilise le serveur Windows 2008 d'iis 7.5.
la source