web-dev-qa-db-ja.com

IIS7で301リダイレクトを使用してHTTPSを強制すると401.1エラーが発生します

forcessl.aspxという名前のページを呼び出す403.4エラーページスロットで実行URLを使用しているサイトがあります。ファイルの内容は次のとおりです。

strWork = Replace(strQUERY_STRING、 "http"、 "https")strWork = Replace(strWork、 "403;"、 "")strWork = Replace(strWork、 "80"、 "")strSecureURL = strWork Response.Write(strSecureURL) Response.Redirect(strSecureURL)例外としてキャッチex終了%>

https://がURLに追加されていない場合、この特定のサイトは401.1エラーを受け取ります。同じ方法を使用して、正常に機能する他のサイトがいくつかあります。このサイトは、私が伝えることができるすべての方法(フォルダーのアクセス許可など)を反映しています。この新しいサイトは、他のサイトが使用しているのと同じドメインのサブドメインです。メインドメインにはワイルドカードSSL証明書があります。

Microsoftのドキュメントから、エラーの意味は次のとおりです。

403.4

HTTPエラー403.4-禁止:このリソースを表示するにはSSLが必要です

401.1

HTTPエラー401.1-不正:無効な資格情報のためアクセスが拒否されました

2
Phil

私はついにこの問題の解決策を見つけました。

サイトをセットアップするとき、私はすべてを行いましたが、ドメインのバインディングにサイトを配置しました。ポート80のバインディングにsubdomain.mysite.comを追加していませんでした。

これを忘れていたのは、ポート443を介してすべてを強制的に書き換えていたため、追加する必要がないと考えたためです。ソリューションを掘り下げてみると、他のすべてのサブドメインがバインディング内にあり、このサブドメインはそうではないことがわかりました。

簡単なことで6か月間の不満が生じました。おかしなのは、一部の人には機能したが、HTTPS経由でアクセスしようとした人には機能しなかったことです。

いつも学ぶ。

1
Phil