web-dev-qa-db-ja.com

Windows Azureにプッシュした後にエラーが発生する:このディレクトリまたはページを表示する権限がありません

私は過去3時間グーグルで検索しましたが、Windows Azureの問題に関して何をすべきかについて何も見つかりませんでした:

このディレクトリまたはページを表示する権限がありません。

Azureへのgit master Pushを実行しましたが、展開は成功しました。失敗した要求トレースもオンにしましたが、上記のステートメント以外は何も表示されません。

これをトラブルシューティングする方法についてのアイデアはありますか?

30
DasBoot

メインのnode.jsファイルをserver.jsとしてデプロイしない場合、web.configが具体的に以下のようにserver.jsを探しているため、このエラーが発生することをテストしました。

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

この問題をさらにトラブルシューティングするには、 here の説明に従ってFTP経由でWebサイトにアクセスできます。

19
AvkashChauhan

AvkashChauhanの答えは私を正しい方向に導きましたが、適切な書き換えルールを追加する必要もありました。ここに私の完全なweb.configがあります

<?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

この質問以降、Azureツールは大きく変わりました。

Azure-cli を使用する人をお勧めします。しかし、面白いことに、サイトを作成するために一度使用した後は、実際には使用しません。

現在使用しているのは、Azureという名前のリモートに直接(git)をプッシュする機能であり、cliがそれを設定しています。

ただし、CLIをインストールしたくない場合は、基本的に次のようにリモートリポジトリ(サイト)を手動で追加するだけです。

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

他のすべてのgitリモートと同様に。

3
Hulvej

私もこのエラーを見つけました。私はMVCを使用していますが、エラーの理由はレイアウトページで匿名ユーザーがアクセスできないアクションへの呼び出しがあったためです:

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

詳細については、Application_StartでAuthorizeAttribute()グローバルフィルターを登録し、LoginアクションにAllowAnonymousが付加されています。

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

私のWebサイトは以前IIS7で機能していましたが、Azureはそれほど寛容ではありません。次のようなチェックを追加して問題を修正しました。

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

Node.jsに固有ではありませんが、通常のWebアプリケーションでこの問題に直面している他の人を助ける場合に更新します。これは、index.htmlファイルが存在しないか、サブディレクトリにあるために見つからない場合にも発生する可能性があります。

2
Vivek Kodira

同じ問題があります。server.jsをルートアプリフォルダーに移動する必要があります

0
user1718248

ローカルリポジトリのgit Pushの後に同じエラーメッセージが表示されました。

Azureダッシュボードを開いて解決しました。

Webアプリ/アプリの展開/展開ソース

ローカルgitリポジトリを展開ソースとして選択

0
user2314737

私はこの問題に出くわしましたが、私の場合、問題の原因はipSecurity構成でした。ただhdで、allowUnlistedをtrueに変更します。

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

単純な構成、AzureポータルでWebアプリに移動->すべての設定->アプリケーションの設定、既定のドキュメントの下で、表示するドキュメントの特定の名前を追加し、更新するのを待ってから、Azureリンクを更新します。

0
zahra ali