【问题标题】:Keeping web.config after a swap on Azure App Service在 Azure 应用服务上交换后保留 web.config
【发布时间】:2017-02-10 20:34:17
【问题描述】:

我们正在使用web.config 中的重写规则对在 Azure 应用服务上运行的应用实施 HTTPS,如本文所述: https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-configure-ssl-certificate#enforce-https-on-your-app

问题是,当我们从部署槽切换到主生产站点时,web.config 似乎被重新创建,web.config 中的重写规则消失了。

对于我们如何确保此规则在交换后保持完整有什么建议吗?

【问题讨论】:

  • 我们在 web.config 中使用重写规则,它不会被删除。你确定你没有使用任何额外的东西吗?
  • 基本上,在我进行交换之后,我通过 Kudu 调试控制台进入 web.config,所有的重写都消失了。我唯一的解释是,当我们将应用程序发布到部署槽时,它来自我们的开发环境,我们在本地没有重写规则,因为这会给我们带来本地错误。因此,可能是本地版本的 web.config 覆盖了 App Service 上的版本。

标签: azure azure-web-app-service


【解决方案1】:

据我所知,Azure Web 应用程序的Swap 操作不是要复制您的 Web 应用程序的内容,而是更多地涉及交换 DNS 指针。更多细节可以参考这个blog,更好地了解部署槽的过程。

根据您在应用程序上强制实施 HTTPS 的方案,我假设您可以利用站点扩展在生产和部署插槽上强制实施 HTTPS。您可以按如下方式实现:

使用KUDU,选择“Site extensions > Gallery”:

另外,您可以登录 Azure 门户,选择您的 Web 应用并单击“开发工具 > 扩展”,添加“将 HTTP 重定向到 HTTPS”扩展,如下所示:

此外,有关 Azure 站点扩展的更多详细信息,您可以关注此tutorial

【讨论】:

  • 这对我来说效果很好,虽然我需要在应用程序设置主窗口中完全停止和启动应用程序才能生效 - 站点扩展窗口顶部的重新启动按钮没有工作。
猜你喜欢
  • 1970-01-01
  • 2019-01-13
  • 1970-01-01
  • 1970-01-01
  • 2018-08-26
  • 2022-08-22
  • 1970-01-01
  • 2020-08-31
  • 1970-01-01
相关资源
最近更新 更多