问题1:我有一个运行单个网站角色的经典云服务。我想区分它在本地调试的方式与如何部署到云中。具体来说,我希望本地站点在HTTP上运行,而云服务在HTTPS上运行。这样做的主要原因是我们不想在所有开发人员的计算机上都安装相同的证书。但是,端点是在公共的“ ServiceDefinition.csdef”中定义的,而不是在两个“ ServiceConfiguration.cscfg”文件(“ local”和“ cloud”)中定义的。那么,如何为本地和云设置不同的端点?
问题2:我希望,特别是在云中,有一个运行在HTTP上的站点,该站点只是将用户重定向到HTTPS站点。我该如何设置?
我意识到这些问题可能没有足够的细节,但是我不想写一本书。请随时要求澄清。
非常感谢!
答案 0 :(得分: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上运行。
为此,我过去在Cloud Services上工作时的处理方式基本上是为每个环境(WebApp.Azure.Dev,WebApp.Azure.Prod等)创建单独的云项目。这样,我将为每个环境获取单独的csdef文件。