私は過去3時間グーグルで検索しましたが、Windowsの紺碧の問題に関して何をすべきかについて何も見つかりませんでした。
このディレクトリまたはページを表示する権限がありません。
Azureにgitmasterプッシュを実行したところ、デプロイは成功しました。失敗したリクエストのトレースもオンにしましたが、上記のステートメント以外は何も表示されません。
これをトラブルシューティングする方法についてのアイデアはありますか?
メインの node.js ファイルを server.js としてデプロイしないと、以下のように web.config が特に server.js を探しているため、このエラーが発生することをテストしました。
<handlers>
<add name="iisnode" path="server.js" verb="*" modules="iisnode"/>
</handlers>
この問題をさらにトラブルシューティングするには、ここで説明されているように、FTP 経由で Web サイトにアクセスできます。
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>
私もこのエラーにぶつかりました。私は MVC を使用していますが、エラーの理由は、私のレイアウト ページで、匿名ユーザーがアクセスできないアクションへの呼び出しがあったためです。
@Html.Action("GetMenu", "Users")
詳細についてはAuthorizeAttribute()
、Application_Start にグローバル フィルターを登録し、Login
アクションを次のように装飾しAllowAnonymous
ます。
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginModel model, string returnUrl)
{
以前は私の Web サイトは IIS7 で動作していましたが、Azure はそれほど寛容ではありません。次のようなチェックを追加して問題を修正しました。
@if (User.Identity.IsAuthenticated)
{
@Html.Action("GetMenu", "Users")
}
この質問以来、紺碧のツールは大きく変わりました。
azure-cliを使用することをお勧めします。しかし面白いことに、サイトを作成するために一度使用した後、実際には使用しません。
私が現在使用しているのは、azure という名前のリモートに直接プッシュ (git) する機能だけで、cli がそれを設定しています。
ただし、cli をインストールしたくない場合は、次のように、基本的にリモート リポジトリ (サイト) を手動で追加できます。
git remote add azure https://<site-or-appservice-name>.scm.azurewebsites.net/<site-or-appservice-name>.git
他のすべての git リモートと同じように。
node.jsに固有のものではありませんが、通常のWebアプリケーションでこの問題に直面している他の人を助ける場合に備えて更新してください。これは、index.html ファイルが存在しないか、サブディレクトリにあるために見つからない場合にも発生する可能性があります。
簡単な構成。Azure ポータルで Web アプリ -> [すべての設定] -> [アプリケーション設定] に移動し、既定のドキュメントの下に、表示するドキュメントの特定の名前を追加し、更新されるのを待ってから、Azure リンクを更新します。
server.js
ファイルをルート アプリ フォルダーに移動する必要があります。
git push
ローカルリポジトリからの後に同じエラーメッセージが表示されました。
Azureダッシュボードを開いて解決しました:
Web アプリ / アプリの展開 / 展開元
展開ソースとしてローカル git リポジトリを選択する