Azure 经典云服务配置本地与云
Azure classic cloud service configuration local vs cloud
问题 #1:我有一个经典的云服务 运行 具有单个网站角色。我想区分它在本地调试的方式和它部署到云端的方式。具体来说,我希望本地站点在 HTTP 上 运行,云服务在 HTTPS 上运行。这样做的主要原因是我们不想在所有开发人员的机器上安装相同的证书。但是,端点是在公共 "ServiceDefinition.csdef" 中定义的,而不是在两个 "ServiceConfiguration.cscfg" 文件("local" 和 "cloud")中定义的。那么,如何为本地和云设置不同的端点?
问题 #2:我希望,尤其是在云中,有一个基于 HTTP 的站点 运行ning,它可以简单地将用户重定向到 HTTPS 站点。我该如何设置?
我意识到这些问题可能不够详细,但我不想写一本书。请随时要求澄清。
非常感谢!
部分回答您的问题:
Problem #2: I would like, especially in the cloud, to have a site
running on HTTP that simply redirects the user to the HTTPS site. How
would I set that up?
为此,您可以简单地依靠 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)中。
Specifically I would like the local site to run on HTTP and the cloud
service to run on HTTPS.
为此,我过去处理云服务时的处理方式基本上是为每个环境创建单独的云项目(WebApp.Azure.Dev、WebApp.Azure.Prod 等)。这样我就可以为每个环境获得单独的 csdef 文件。
问题 #1:我有一个经典的云服务 运行 具有单个网站角色。我想区分它在本地调试的方式和它部署到云端的方式。具体来说,我希望本地站点在 HTTP 上 运行,云服务在 HTTPS 上运行。这样做的主要原因是我们不想在所有开发人员的机器上安装相同的证书。但是,端点是在公共 "ServiceDefinition.csdef" 中定义的,而不是在两个 "ServiceConfiguration.cscfg" 文件("local" 和 "cloud")中定义的。那么,如何为本地和云设置不同的端点?
问题 #2:我希望,尤其是在云中,有一个基于 HTTP 的站点 运行ning,它可以简单地将用户重定向到 HTTPS 站点。我该如何设置?
我意识到这些问题可能不够详细,但我不想写一本书。请随时要求澄清。
非常感谢!
部分回答您的问题:
Problem #2: I would like, especially in the cloud, to have a site running on HTTP that simply redirects the user to the HTTPS site. How would I set that up?
为此,您可以简单地依靠 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)中。
Specifically I would like the local site to run on HTTP and the cloud service to run on HTTPS.
为此,我过去处理云服务时的处理方式基本上是为每个环境创建单独的云项目(WebApp.Azure.Dev、WebApp.Azure.Prod 等)。这样我就可以为每个环境获得单独的 csdef 文件。