【问题标题】:Enabling SSL on specific pages. IIS Express and VS 2010在特定页面上启用 SSL。 IIS Express 和 VS 2010
【发布时间】:2012-04-23 17:18:09
【问题描述】:

我刚刚为 Visual Studio 2010 安装了 sp1,现在我正在使用 IIS Express 调试我的 asp.net 项目和网站。我知道我可以从项目的属性中启用 ssl。但我想弄清楚的是如何为 Login.aspxRegister.aspx 等少数页面启用和要求 SSL。

我相信在 IIS 中,我们可以从 IIS 管理器中执行此类操作,但是,除了系统托盘中的一个小图标外,似乎没有 IIS express 的管理区域。我没有使用 webmatrix 安装 IIS express,而是作为一个独立的应用程序安装。

【问题讨论】:

  • Aristos 我的问题是只为几个页面(如 login.aspx 和 register.aspx)启用 ssl,站点的其余部分将在 http 上运行。您提供的链接虽然有帮助,但不回答问题
  • 没有1页或100页的情况,ssl在不同的端口上运行。因此,如果 ssl 运行,它不会改变您仅获得一页的速度。
  • 对我来说毫无意义。互联网上有很多网站使用 https 仅用于登录和注册页面,而网站的其余部分则在 http 上运行 :(
  • 好吧,如果我想为任意数量的页面启用 ssl,我必须在 IIS 中编辑站点绑定(不是 express),然后添加带有证书的 ssl,这样我的每个资源都可以通过 http 和HTTPS。现在我想要的是 login.aspx 不能通过 http 访问。我该怎么做?

标签: asp.net visual-studio-2010 iis iis-express


【解决方案1】:

您还可以以编程方式执行操作。请参阅Request.IsSecureConnection 和(仅)根据需要重定向。

有点跑题了,但是当您有front end device/concentrator 时,上面确实有一些警告。

【讨论】:

    【解决方案2】:

    您可以使用Url Rewriting 完成此操作。如果您在 IIS 中为您的站点安装了证书,但您为 https 和 http 配置了标头,则可以通过任一方法访问该站点的页面。您可以使用 url 重写来强制对给定页面的所有请求都是 https,如下所示:

    <rewrite >
      <rules>
        <clear />
        <rule name="Redirect Login Page" stopProcessing="true">
          <match url="^Login.aspx(.*)" />
          <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
            <add input="{HTTPS}" pattern="^OFF$" />
          </conditions>
          <action type="Redirect" url="https://{HTTP_HOST}/Login.aspx{R:1}" />
        </rule>
    

    我在一些应用程序中使用过它,效果很好。

    【讨论】:

      猜你喜欢
      • 2015-05-05
      • 2018-04-29
      • 1970-01-01
      • 1970-01-01
      • 2015-07-26
      • 2013-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多