web-dev-qa-db-fra.com

Obtenir une erreur après avoir poussé vers Windows Azure: vous n'êtes pas autorisé à afficher ce répertoire ou cette page

J'ai googlé pendant les 3 dernières heures et je n'ai rien trouvé sur quoi faire en ce qui concerne le problème Windows Azure:

Vous n'êtes pas autorisé à afficher ce répertoire ou cette page.

J'ai fait un push git master vers Azure et le déploiement a réussi. J'ai également activé le suivi de la demande ayant échoué, mais rien n'apparaît, sauf la déclaration ci-dessus.

Des idées sur la façon de résoudre ce problème?

30
DasBoot

Je viens de tester que si vous ne déployez pas votre fichier node.js principal en tant que server.js, vous obtiendrez cette erreur car le web.config recherche spécifiquement server.js comme ci-dessous:

  <handlers>
       <add name="iisnode" path="server.js" verb="*" modules="iisnode"/>
 </handlers>

Pour résoudre davantage ce problème, vous pouvez accéder au site Web via FTP comme décrit ici .

19
AvkashChauhan

La réponse d'AvkashChauhan m'a conduit dans la bonne direction, mais j'ai également dû ajouter des règles de réécriture appropriées. Voici mon web.config complet

<?xml version="1.0"?>
<configuration>
  <system.web>
    <compilation batch="false" />
  </system.web>
  <system.webServer>
    <handlers>
      <add name="iisnode" path="server.js" verb="*" modules="iisnode" />
    </handlers>
    <rewrite>
      <rules>
        <rule name="myapp">
          <match url="/*" />
          <action type="Rewrite" url="server.js" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>
10
Ben Anderson

Les outils Azure ont beaucoup changé depuis cette question.

Je recommande aux gens d'utiliser Azure-cli . Mais assez drôle, je ne l'utilise pas après l'avoir utilisé une fois pour créer un site.

Ce que j'utilise maintenant, c'est simplement la possibilité de pousser (git) directement vers une télécommande nommée Azure, et le cli le configure pour vous.

Mais si vous ne souhaitez pas installer le cli, vous pouvez simplement ajouter manuellement le référentiel distant (votre site), comme ceci:

git remote add Azure https://<site-or-appservice-name>.scm.azurewebsites.net/<site-or-appservice-name>.git

Comme vous le feriez avec toutes les autres télécommandes git.

3
Hulvej

J'ai également rencontré cette erreur. J'utilise MVC et la raison de l'erreur était que sur ma page de mise en page, j'ai eu un appel à une action qui n'est pas accessible aux utilisateurs anonymes:

@Html.Action("GetMenu", "Users")  

Pour information, j'enregistre un filtre global AuthorizeAttribute() dans Application_Start et mon action Login est décorée de AllowAnonymous:

    [HttpPost]
    [AllowAnonymous]
    [ValidateAntiForgeryToken]
    public ActionResult Login(LoginModel model, string returnUrl)
    {

Mon site Web fonctionnait auparavant sur IIS7, mais Azure est moins indulgent. J'ai résolu le problème en ajoutant un chèque comme celui-ci:

@if (User.Identity.IsAuthenticated)
{
     @Html.Action("GetMenu", "Users")
}
2
Colin

Non spécifique à node.js mais mis à jour au cas où cela aiderait les autres personnes confrontées à ce problème pour une application Web standard. Cela peut également se produire si le fichier index.html n'est pas présent ou est introuvable car il se trouve dans un sous-répertoire

2
Vivek Kodira

J'ai le même problème, vous devez déplacer votre server.js vers votre dossier d'application racine

0
user1718248

J'ai eu le même message d'erreur après un git Push à partir d'un référentiel local.

Résolu en ouvrant le tableau de bord Azure:

application Web/déploiement d'application/source de déploiement

et en sélectionnant dépôt git local comme source de déploiement

0
user2314737

Je viens de rencontrer ce problème et dans mon cas, c'est la configuration ipSecurity qui a causé le problème. Juste hd pour aller et changer le allowUnlisted en true.

 <security>
   <ipSecurity allowUnlisted="false"> 
 </security>
0
Illuminati

Configuration simple, dans le portail Azure, accédez à votre application Web -> Tous les paramètres -> paramètres de l'application, sous les documents par défaut, ajoutez le nom spécifique de votre document que vous souhaitez afficher, attendez qu'il soit mis à jour, puis actualisez votre lien Azure.

0
zahra ali