【问题标题】:Azure Cloud Service with SSL on Sub-Domain在子域上使用 SSL 的 Azure 云服务
【发布时间】:2012-12-07 22:15:20
【问题描述】:

我的 Azure 云服务设置如下:

<Sites>
  <Site name="Web" physicalDirectory="../SampleWebsite/">
    <Bindings>
      <Binding name="HttpIn" endpointName="HttpIn" />
    </Bindings>
  </Site>
  <Site name="Admin" physicalDirectory="../SampleWebsite/Admin">
    <VirtualApplication name="Admin" physicalDirectory="../SampleWebsite/Admin">
    <Bindings>
      <Binding name="HttpsIn" endpointName="HttpsIn"/>
    </Bindings>
  </Site>
</Sites>
<Endpoints>
  <InputEndpoint name="HttpIn" protocol="http" port="80" />
  <InputEndpoint name="HttpsIn" protocol="https" port="443" certificate="www.domain.com" />
</Endpoints>
<Certificates>
  <Certificate name="www.domain.com" storeLocation="LocalMachine" storeName="My" />
</Certificates>

我正在尝试为 https://www.domain.com/Admin 目录要求 SSL。但是,此配置允许在没有 SSL 的情况下连接到此 URL。有没有办法在 Azure 的子目录上要求 SSL?

【问题讨论】:

    标签: ssl azure


    【解决方案1】:

    如果您使用的是 MVC,请使用 breischi 的答案,并为您希望通过 SSL 强制执行的任何控制器和/或操作实现 [RequiresSSL] 属性。否则,您也可以使用 Url Rewrite 来完成任务(将规则添加到 web.config):

    <rule name="Force HTTPS" enabled="true">
        <match url="^.*/Admin/(.*)$" ignoreCase="false" />
        <conditions>
            <add input="{HTTPS}" pattern="off" />
        </conditions>
        <action type="Redirect" url="https://{HTTP_HOST}/Admin/{R:1}" appendQueryString="true" redirectType="Permanent" />
    </rule>
    

    【讨论】:

      【解决方案2】:

      如果 /SampleWebsite/ 包含 /Admin/ 子目录的所有代码,我认为没有办法阻止用户使用 HTTP 连接到它。我认为您在这里有几个选择:

      1. 在应用程序级别强制实施 HTTPS。有很多方法可以做到这一点,具体取决于您的应用程序的组织方式。例如,如果您使用 ASP.NET MVC, here's an option。您还可以使用 Global.asax 处理程序中的代码或使用 HttpModule 或任何其他方式推出自己的解决方案。
      2. 将 /Admin/ 子目录拆分为自己的单独站点。确保在 HTTP 上提供服务的站点没有 /Admin/ 站点的任何代码 - 那么它就无法提供该内容。在 .csdef 中设置一个单独的站点(您已经完成了相当多的工作),为 /Admin/ 站点提供服务。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-06
        • 2012-07-17
        相关资源
        最近更新 更多