1

Azure Web サイトへの移行をテストしている dnn Web サイトがあります。私がやりたかったことは、最初に Azure でデータベースを再作成し、次に接続文字列を変更して Azure SQL データベースを指すようにすることでした。データベースを問題なく移行しました。それは私のAzureポータルに存在し、データが正確であると私が知る限り.

以前の接続文字列は次のとおりです。

<add name="SiteSqlServer" connectionString="Data Source={SERVERNAME};Initial Catalog={DBNAME};User ID={USERNAME};Password={PASSWORD}" providerName="System.Data.SqlClient" />

次のように紺碧の接続に変更しました:

<add name="SiteSqlServer" connectionString="Data Source=tcp:{SERVERNAME}.database.windows.net,1433;Database={DBNAME};User ID={USERNAME};Password={PASSWORD};Trusted_Connection=False;Encrypt=True;Connection Timeout=30;" providerName="System.Data.SqlClient" />

しかし、サイトを読み込もうとすると、次のエラーが表示されます。 ここに画像の説明を入力

ブラウザに表示される URL は mysite.com/Install/UnderConstruction.htm です

これをトラブルシューティングする方法がわかりません。データベースが接続していないか、接続が良好で別の問題が発生していますか。stie のルートにあるファイルを変更していません。新しい Azure データベースを指すように接続文字列を変更しました。

接続文字列の接続資格情報を使用して、Sql Management Studio からこのデータベースに正常に接続できます。

質問:

これがデータベース接続の問題なのか、それともこのエラーが表示される原因のトラブルシューティングなのか、どうすればわかりますか?

または、サイトのファイルがホストされている外部 IIS サーバー IP に対してファイアウォール アクセスを有効にする必要がありますか?

編集開始 1:

そこで、問題の sql azure データベースにログインし、監視ページにさらにメトリックを含めました。以下に示すように、ファイアウォールによってブロックされたために失敗した接続があったことがわかりました。 ここに画像の説明を入力

そのため、Web サイト ファイルが存在する共有 IIS サーバーの IP アドレスを取得し、その IP アドレスを許可するファイアウォール ルールを追加しました。これで問題は解決しませんでした。

補足質問:ファイアウォールによってブロックされ、失敗した接続の IP アドレスを確認する方法はありますか?

編集終了 1:

前もって感謝します

4

2 に答える 2

1

というわけで、問題は Sql Azure Server のファイアウォール設定でした。

Sql Azure データベースへの接続を要求しているホストされた Web アプリは、別の Azure サービスからのものではなく、別の IIS サーバーからのものです。Web アプリの DMS/IP ルックアップを実行すると、特定の IP アドレスを取得しました。それをファイアウォールルールに追加しましたが、機能しなかったため、別の IP アドレスを使用する必要があります。

私がしたこと:すべての IP アドレスを開いて、すべての IP が通過できることを確認しました。これにより、Web アプリが Sql Azure DB に接続できるようになりました。すべてのIPを有効にする方法は次のとおりです。 ここに画像の説明を入力

http://centralops.net/co/を使用して、Web アプリが存在する共有サーバーの「ネット IP 範囲」を取得し、それを許可された IP 範囲として入力しました。これで、サイトは正しく接続されます。

于 2013-11-06T04:17:26.813 に答える