https証明書をインストールしたばかりで、リダイレクトの設定に苦労しています。
IIS(7.5)でHTTPリダイレクトを使用しようとしましたが、最初のログインページを通過するとIEとFFとChromeで動作するようにはできませんでした。
URL書き換えも試しましたが、HTTPリダイレクトに戻ったので完全に失敗しました。HTTPSが正しく動作しないフォルダにリダイレクトする
「http://example.com/internal」を使用してサイトにアクセスするために使用されたユーザー。さて、これを "https://internal.example.com/internal"にリダイレクトして、動作させることができません。可能であれば、URLの最後の「内部」を使用しない方が好きです(CSRを要求する際に使用した共通名はinternal.example.comでした)。
HTTPリダイレクトでは、「https://internal.example.com/internal/default.aspx」に「リダイレクト要求をこの宛先にリダイレクト」を設定し、「リダイレクト動作」を「このディレクトリ内のコンテンツのみに要求をリダイレクトする」にステータスコード301(Permanent)を設定します。
Webサイトには、.Netアプリケーションファイルを含む「内部」フォルダがあり、フォーム認証が必要です。ルートフォルダ内のファイルはすべてに公開されています(つまり、www.example.comはすべてに公開されています)。
これを設定するためのヘルプは、大変ありがとうございます。
更新
私はweb.configファイルを更新し、まだなく、かなりそこにいくつかのURL書き換えルールを追加しました。
IEの場合、example.com/internalと入力するとhttps://internal.example.comになりますが、http://internal.example.com/internalには入りません。
Chromeではhttpsにはアクセスせず、httpにとどまって「安全でない」と表示されます。
<rewrite>
<rules>
<rule name="Rewrite to internal" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www.example.com$" />
</conditions>
<action type="Redirect" url="{R:1}" />
</rule>
<rule name="internal.example.com to sub folder internal" enabled="true" stopProcessing="true">
<match url="(.*)" ignoreCase="true" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTPS}" pattern="^OFF$" />
<add input="{HTTP_HOST}" pattern="^internal\.example\.com$" ignoreCase="false" />
<add input="{PATH_INFO}" pattern="^/internal($|/)" negate="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/" />
</rule>
</rules>
</rewrite>
最初のルールは、http://example.comを通過させることです。 2番目はhttp://example.com/internalをhttps://internal.example.com/internalにリダイレクトすることです。
ありがとうございました。私は "フォーム認証"に加えて "基本認証"を選択しましたが、私は匿名認証を有効にすることができませんでした。私は基本を無効にし、匿名を有効にしましたが、変更はありません。 web.configの変更に関する追加情報で質問を更新しました。 – NoBullMan
Request.ServerVariables ["SERVER_NAME"]とRequest.ServerVariables ["PATH_INFO"]が自分の条件を満たしていれば、URLリライトとHTTPリダイレクトの両方を削除し、Response.RedirectをDefault.aspx.csのResponse.Redirectを使って追加することにしました。リダイレクション。すべてのブラウザで正常に動作します。 – NoBullMan
私はプロジェクトで同様の設定をしています。匿名認証をセットアップし、他のすべての認証を無効にしてから、ポート80のすべてのトラフィックをウェブ設定の書き換えを使用して443にリダイレクトしてください。 –