【问题标题】:Azure classic cloud service configuration local vs cloudAzure 经典云服务配置本地 vs 云
【发布时间】:2020-01-16 12:26:01
【问题描述】:

问题 #1:我有一个运行单个网站角色的经典云服务。我想区分它在本地调试的方式与部署到云的方式。具体来说,我希望本地站点在 HTTP 上运行,云服务在 HTTPS 上运行。这样做的主要原因是我们不想在所有开发人员的机器上安装相同的证书。但是,端点是在通用“ServiceDefinition.csdef”中定义的,而不是在两个“ServiceConfiguration.cscfg”文件(“local”和“cloud”)中定义的。那么,如何为本地和云端设置不同的端点?

问题 #2:我希望,尤其是在云中,有一个在 HTTP 上运行的站点,它只是将用户重定向到 HTTPS 站点。我该如何设置?

我意识到这些问题可能没有足够的细节,但我不想写一本书。请随时要求澄清。

提前非常感谢!

【问题讨论】:

    标签: azure http https cloud local


    【解决方案1】:

    部分回答您的问题:

    问题 #2:我希望拥有一个网站,尤其是在云端 在 HTTP 上运行,只是将用户重定向到 HTTPS 站点。如何 我会设置它吗?

    为此,您可以简单地依赖 web.config 转换。在您的 web.release.config 中,您可以设置一个重定向规则,将 http 请求重定向到 https。类似于以下内容:

    <rewrite>
      <rules>
        <rule name="HTTP/S to HTTPS Redirect" enabled="true" stopProcessing="true">
          <match url="(.*)" />
          <conditions>
            <add input="{HTTPS}" pattern="^OFF$" />
          </conditions>
          <action type="Redirect" url="https://{SERVER_NAME}/{R:1}" redirectType="Permanent" />
        </rule>
      </rules>
    </rewrite>
    

    类似的东西不会出现在您的 web.debug.config(或 web.config)中。

    具体来说,我希望本地站点在 HTTP 和云上运行 在 HTTPS 上运行的服务。

    为此,我过去在从事云服务工作时的处理方式基本上是为每个环境(WebApp.Azure.Dev、WebApp.Azure.Prod 等)创建单独的云项目。这样,我将为每个环境获取单独的 csdef 文件。

    【讨论】:

    • 是的,这成功了。使用它,我能够让本地和云都像魅力一样工作。非常感谢您的帮助!
    猜你喜欢
    • 2018-07-08
    • 2019-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-15
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    相关资源
    最近更新 更多