URL Rewrite モジュールを使用して、Web サイトのログイン セクションを https 経由で強制し、他のすべてのセクションを http に保持しています。これらは、私たちが追加した2つのルールです
<rule name="Others Force HTTP" enabled="true" stopProcessing="true">
<match url="(((.*)/LogOn)|((.*)/Content(.*))|((.*)/Images(.*))|((.*)/Scripts(.*)))" negate="true" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTPS}" pattern="^ON$" />
</conditions>
<action type="Redirect" url="http://{SERVER_NAME}{REQUEST_URI}" redirectType="Permanent" />
</rule>
<rule name="Force on SSL" enabled="true" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTPS}" pattern="^OFF$" />
<add input="{REQUEST_URI}" pattern="^/users/account/LogOn(\?.*)*$" />
</conditions>
<action type="Redirect" url="https://{SERVER_NAME}{PATH_INFO}" redirectType="Permanent" />
</rule>
ただし、これらのルールを使用すると、Internet Explorer はコンテンツの一部が安全な接続を介して配信されなかったというプロンプトを表示しますが、Google chrome はスタイルシートや画像などを取得しません。
Fiddler は、Web サーバーがすべての要求を HTTP 経由で /Content /Images などにリダイレクトしていることを示していますが、これは IIS サーバーが最初の規則に従って行うべきではありません。
私たちはこの問題を解決しようと懸命に努力しています。いくつかの助けをいただければ幸いです。