セルフホストのDNN6.01.03サイトがあり、Windows 2003x64、stdにあります。
SSLを使用できるようにしましたが、HTTPを介してアクセスするユーザーがHTTPにリダイレクトされるように設定したいと思います。
それを行う方法はありますか?IIS7ではIISRewriteURLモジュールを使用できるようですが、これはIIS6です。
お知らせ下さい。ありがとう。
セルフホストのDNN6.01.03サイトがあり、Windows 2003x64、stdにあります。
SSLを使用できるようにしましたが、HTTPを介してアクセスするユーザーがHTTPにリダイレクトされるように設定したいと思います。
それを行う方法はありますか?IIS7ではIISRewriteURLモジュールを使用できるようですが、これはIIS6です。
お知らせ下さい。ありがとう。
最速の方法は、DNNでサイトを「強制SSL」に設定することです。
IFinity.com.auのUrlMasterなどのツールを使用すると、動作が向上することに気付きました。
リダイレクトページを設定し、そこで403.4エラーを指摘します。リダイレクトページは、 SSLを適用しない唯一のURLになります。
ここでは、利用可能なほとんどすべてのWebテクノロジーを使用できます。
例:
ASP.NETでは、redirect.aspxは、クラシックASPで行われるのと同様の方法で記述できます。
<%@ Page Language="C#" %>
<!DOCTYPE html>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!Request.IsSecureConnection)
{
string query = Request.ServerVariables["QUERY_STRING"];
query = query.Replace("http:", "https:");
query = query.Replace("403;", "");
query = query.Replace(":80", "");
Response.Redirect(query);
}
}
</script>
<html>
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
Redirecting...
</div>
</form>
</body>
</html>
ホストされたドメインですべてのページ要求Global.asax
のリダイレクトを強制するようにリダイレクトを設定できます。これは、どのDNN設定よりも優先されます。
<script RunAt="server">
protected void Application_BeginRequest(object sender, EventArgs e)
{
// ENABLE SSL REDIRECTS
if (!HttpContext.Current.Request.IsSecureConnection)
{
Response.Redirect("https://" + Request.ServerVariables["HTTP_HOST"] + HttpContext.Current.Request.RawUrl);
}
}
</script>
または、カスタムヘッダーまたはロードバランサーを使用している場合
<script RunAt="server">
protected void Application_BeginRequest(object sender, EventArgs e)
{
// ENABLE SSL REDIRECTS
if (!string.Equals(Request.Headers["X-Forwarded-Proto"], "https", StringComparison.InvariantCultureIgnoreCase))
{
Response.Redirect("https://" + Request.ServerVariables["HTTP_HOST"] + HttpContext.Current.Request.RawUrl);
}
}
</script>