Impossible d'obtenir quoi que ce soit, sauf 403 à partir d'un site Web .Net 4.5

10

Scénario: Nettoyer l'installation de Server 2008 R2 avec le rôle IIS.

Installed Framework 3.5 (Fonctionnalités du serveur) Installed Framework 4.5 RC (MS Download)

réalisé

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis.exe -i

(J'utiliserais -irusur des serveurs existants mais c'est une construction propre).

Publié via File System (partage SMB)

Converti le dossier en une application à l'aide du pool d'applications intégrées .Net 4.0

Tout arrêté / redémarré.

La navigation vers les localhost/TestApprésultats dans un 403.14 (navigation dans le répertoire interdite)

Quelle étape ai-je ratée? Le site en question est MVC4 et cible le framework 4.5 RC

De base
la source
Vous êtes-vous assuré que votre document par défaut figure dans la liste des documents par défaut?
Brent Pabst
@BrentPabst Étant MVC, il n'y a pas de document par défaut - il s'appuie sur la réécriture d'URL par IIS pour déterminer le contrôleur / l'action à exécuter. Si cela échouait, je m'attendrais à un message d'erreur différent. Il semble que l'analyse d'URL ne soit pas invoquée, ce qui signifie généralement que .Net n'est pas enregistré correctement dans IIS. Cela dit, il est enregistré et j'ai installé les rôles IIS appropriés (en fait, j'ai maintenant tous les rôles IIS), donc je ne suis pas sûr de la meilleure façon de diagnostiquer cela
Basic
désolé, je suis aveugle et j'ai raté la partie 4.5 MVC. Dans tous les cas, pourquoi avez-vous enregistré .NET 4.0 après avoir installé 4.5? Je n'ai en fait jamais eu à enregistrer .NET sur un serveur Web car le programme d'installation le fait automatiquement. Quoi qu'il en soit, je pense que vous avez enregistré les mauvais gestionnaires .NET. Cependant, avec 4.5 et MVC, vous devriez au moins voir un YSOD qui dit que l'ASAX mondial ne peut pas être chargé.
Brent Pabst
@BrentPabst J'ai dû le faire aspnet_regiisauparavant, mais uniquement lorsque IIS est installé après .Net (semble raisonnable). Ce n'était pas le cas ici, mais comme tant de réponses suggérées mentionnent cela comme le problème, j'ai pensé que j'allais essayer. 4.5 remplacer 4.0 entièrement. Je suis d'accord que ne pas obtenir YSOD est étrange - Comme je l'ai dit, il semble que ce ne soit tout simplement pas du tout traité comme une page .Net
Basic
1
Heureux que vous ayez tout réglé. Votre tête devait être prête à exploser!
Brent Pabst

Réponses:

21

J'avais un problème similaire. Ce fil /programming/2374957/asp-net-mvc-on-iis-7-5 l'a résolu pour moi. Essentiellement, essayez d'ajouter ceci à votre web.config:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer>

Si cela fonctionne, vous pouvez essayer de le supprimer et d'installer ce correctif à la place: http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=5272

Shildrak
la source
Merci, cela l'a résolu. Je me tape la tête contre ça depuis des heures. Vous ne croiriez pas le chagrin que j'ai reçu du bureau "mec linux". Dans ce cas, je pense qu'il a un point ...
Basic
1
Je vous remercie! Dans mon cas, runAllManagedModulesForAllRequests n'a pas aidé, mais le correctif l'a fait.
NateTheGreat
Pour moi, runAllManagedModulesForAllRequests n'a pas aidé, mais le correctif l'a fait - merci pour le lien
Anil Purswani
Tu m'as sauvé la journée!
labilbe
0

L'interface utilisateur est un peu différente dans les nouvelles versions de Windows Server. Voici où vous devez activer ASP.Net pour le faire fonctionner sur IIS

Fix IIS & Asp.net

Matthew Zourelias
la source