IIS8でWebサイトをIP制限して1つ以上のIPのみを許可し、他のすべてのユーザーを拒否するためにこれを読みました。次のようにします。
(下のスクリーンショットで指定)
ただし、これを行うと(下のスクリーンショットで指定されているように)、他のIPからサイトにアクセスできます。
ここで何が欠けていますか?何か他に必要なことはありますか?
私はiisresetを試してみましたが、ページはテストマシンでブラウザにキャッシュされていません。アクセスできないはずです。
IIS Windows機能の下にIPセキュリティがインストールされている場合、これをweb.configに追加してIPをブロックできます。
<location path="Default Web Site">
<system.webServer>
<security>
<ipSecurity allowUnlisted="false"><!-- this line blocks everybody, except those listed below -->
<clear/> <!-- removes all upstream restrictions -->
<add ipAddress="192.168.100.1" />
<add ipAddress="169.254.0.0" subnetMask="255.255.0.0" />
</ipSecurity>
</security>
</system.webServer>
</location>
たくさんいじっての後、私は次のことがうまくいったことを見つけました(IIS 8.5.X on勝利サーバー2012 R2)
Web.config管理で機能が有効になっていることを確認します
(私の場合、問題は読み取り専用でした)
次に、web.configを編集して、
<system.webServer>
<security>
<!-- this line blocks everybody, except those listed below -->
<ipSecurity allowUnlisted="false">
<!-- removes all upstream restrictions -->
<clear />
<add ipAddress="X.X.X.X" allowed="true" />
<add ipAddress="127.0.0.1" allowed="true" />
</ipSecurity>
</security>
</system.webServer>
ここで、X.X.X.Xは許可するIPです(許可するすべてのIPまたはIPサブネットコンボに対してこのような行を追加します)
注目に値するドキュメントはallowed = "true"を見逃しているようです機能の委任を許可する要件の言及。そのヒントを@Summitに感謝 here
クライアントとIISサーバーの間にプロキシがありますか?IISクライアントにどのIPを使用するかを示すログで表示できます。
私は自分の状況に対処する方法を見つけました。
状況:ネットワーク上のIPをブロックする必要がありますが、IISサーバーローカルアプリケーションのWebサイトへのアクセスを許可します。IIS Webサイトへの個別および合計サブネットアクセスが時々あります。
問題:[機能設定の編集]を[拒否]に設定すると、正しく機能しません。 「許可」リストは考慮されません。ホストされているWebサイトへのアクセスは、ローカルでもネットワークでも許可されていません。
回避策:「機能設定の編集」を「許可」のままにします。 「許可/拒否」リストの最後のエントリは、完全なサブネットに対して「拒否」です。ローカルサーバーIPの "許可"エントリは、サブネット "拒否"の前にあります。アクセスを許可するサブネット上の個々のコンピュータには、完全なサブネットに対する「拒否」の前に「許可」エントリがあります。
IIS 7以上でファイルレベルのIP制限を行う手順
IIS manager->コンテンツビューで、特定のファイルを強調表示します。>アクションペインで[機能ビューに切り替え]をクリックします。>機能ビューで、[IPアドレスとドメインの制限]をダブルクリックします。 "そして制限を設定します
私はそれが古典的なASPページでも動作すると思います。