IIS7重定向最佳实践

发布于 2024-12-14 10:43:07 字数 1046 浏览 0 评论 0原文

我正在寻找使用 IIS7 和 ASP.net 进行安全站点重定向的“最佳实践”方法。 假设我有两个域名:

  • mydomain.com
  • mydomain.net,

每个域名都有一个 www 子域。

我有一个使用通用名称的 EV 证书:

  • www.mydomain.com

因此,用户可以通过 8 种不同的可能方式访问该站点:

- http://mydomain.com
- http://mydomain.net
- http://www.mydomain.com
- http://www.mydomain.net
- and also using https://

为了使用户不会收到证书错误,必须将他/她定向到

 - https://www.mydomain.com

什么是使这项工作对用户透明,同时仍然确保 IIS 仅提供安全内容的最佳方法是什么?过去,我使用 web.config 重定向到如下所示的子页面:

<system.webServer>

<httpRedirect destination="https://www.mydomain.com/secureSubPage" />

或使用通配符证书在公共基页中使用此块:

 if (!Request.IsSecureConnection)
    {
        Response.Redirect(Request.Url.ToString().Replace("http:", "https:"), true);
        return;
    }
    if (!Request.Url.ToString().Contains(".com"))
    {
        Response.Redirect(Request.Url.ToString().Replace(".net", ".com"), true);
        return;
    }

I am looking for the "best practice" way of secure site redirection with IIS7 and ASP.net.
Say I have two domain names:

  • mydomain.com
  • mydomain.net

each with a www subdomain.

I have a single EV certificate that uses the common name:

  • www.mydomain.com

Therefore, the user can access the site 8 different possible ways:

- http://mydomain.com
- http://mydomain.net
- http://www.mydomain.com
- http://www.mydomain.net
- and also using https://

In order for the user to not receive certificate errors, he/she must be directed to

 - https://www.mydomain.com

What is the best way to make this work transparently to the user while still ensuring that IIS serves up only secure content? In the past I have used web.config to redirect to a sub page like this:

<system.webServer>

<httpRedirect destination="https://www.mydomain.com/secureSubPage" />

or with wildcard certificates using this block in a common base page:

 if (!Request.IsSecureConnection)
    {
        Response.Redirect(Request.Url.ToString().Replace("http:", "https:"), true);
        return;
    }
    if (!Request.Url.ToString().Contains(".com"))
    {
        Response.Redirect(Request.Url.ToString().Replace(".net", ".com"), true);
        return;
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

や三分注定 2024-12-21 10:43:07

我会使用 UrlRewrite,我一直将它用于子域:

使用 URL 重写 2.0 自动将 HTTP 请求重定向到 IIS 7 上的 HTTPS

I would use UrlRewrite, I use it for sub-domains all the time:

Automatically Redirect HTTP requests to HTTPS on IIS 7 using URL Rewrite 2.0

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文