3

OOTB ASP.net メンバーシップとロール プロバイダーを使用するイントラネット asp.net Web アプリケーションがあります。

次の (くだらない) テキスト ダイアグラムに示すように、Web サーバーを DMZ に移動して、アプリケーションをインターネットに公開することを計画しています。

             外部、内部     
インターネット --- ファイアウォール --- Web サーバー --- ファイアウォール --- アプリケーション サーバー --- データベース

                             DMZ イントラネット

問題は、内部ファイアウォールが原因で、Web サーバー上の asp.net メンバーシップとロール プロバイダーが SQL サーバーに接続できないことです。

あなたは今までにそのようなシナリオに直面したことがありますか? Web サーバーが SQL サーバーに直接接続できるように、内部ファイアウォールのポートを開くことをお勧めしますか? 他にどのような選択肢がありますか (カスタム プロバイダーを自分で作成する以外に)?

4

2 に答える 2

2

通常、DMZ ポリシーを変更してポートを開くのは非常に困難です。ネットワーク内で WCF サービスを公開し、HTTP を介してポート 80 で通信するという、私が行ったことを実行すると、よりうまくいく可能性があります。

LAN関係者との摩擦はゼロで、私は.NETが提供するのとまったく同じ(ひどいですが)APIを模倣するだけです:)

編集:明確にするために、これは、次のように構成された RemoteRoleProvider があることを意味します。

<roleManager enabled="true" defaultProvider="RemoteRoleProvider">
   <providers>
      <add name="RemoteRoleProvider" type="MyCorp.RemoteRoleProvider, MyCorp" serviceUrl="http://some_internal_url/RoleProviderService.svc" />
   </providers>
</roleManager>
于 2008-10-22T18:40:26.890 に答える
1

DMZ 内にインターネットに面した Web サーバーが 2 台あり、プライベート ネットワーク内の SQL サーバーとやり取りする必要のあるトンネルをファイアウォールで開く必要がありました。SQL 接続にポート 1433 以外を使用したと思います。これまでのところ、かなりうまく機能しています。つまり、セキュリティ違反はありません。

于 2008-10-22T15:54:14.247 に答える