Azure Web 应用配置及管理常见问题解答

本文对 Azure App Service Web 应用功能配置和管理常见问题 (FAQ) 进行了解答。

如果需要移动应用服务资源,是否有什么限制需要注意?

如果打算将应用服资源转移到新的资源组或订阅,有一些限制需要注意。 有关详细信息,请参阅应用服务限制

如何移动 Application Insights 资源?

当前,Azure Application Insights 不支持移动操作。 如果原始资源组包括 Application Insights 资源,则无法移动该资源。 如果在尝试移动应用服务应用时包括了 Application Insights 资源,则整个移动操作会失败。 不过,即使 Application Insights 和应用服务计划不与应用位于同一资源组中,应用也可以正常运行。

有关详细信息,请参阅应用服务限制

可从何处找到指南清单,了解有关资源移动操作的详细信息?

应用服务限制说明如何将资源移到新订阅或同一订阅的新资源组中。 可以获取有关资源移动清单的信息,了解哪些服务支持移动操作,并了解有关应用服务限制及其他主题的详细信息。

如何为 Web 应用设置服务器时区?

为 Web 应用设置服务器时区:

  1. 在 Azure 门户的应用服务订阅中,转到“应用程序设置”菜单。
  2. 在“应用设置”下,添加此设置:
    • 键 = WEBSITE_TIME_ZONE
    • 值 = 所需时区
  3. 选择“保存” 。

对于在 Windows 上运行的应用服务,请参阅 Windows tzutil /L 命令的输出。 使用每个项的第二行中的值。 例如:“汤加标准时间”。 其中的某些值也列在默认时区的“时区”列中。

如何获取 Web 应用的出站 IP 地址?

获取 Web 应用出站 IP 地址列表:

  1. 在 Azure 门户中的 Web 应用边栏选项卡上,转到“属性”菜单。
  2. 搜索出站 IP 地址

随即显示出站 IP 地址列表。

如何获取 Web 应用的保留或专用入站 IP 地址?

若要为针对 Azure 应用网站发出的入站调用设置专用或保留 IP 地址,请安装并配置基于 IP 的 TLS/SSL 证书。

请注意,若要将专用或保留的 IP 地址用于入站调用,应用服务计划必须包含在基本或更高的服务计划中。

尝试备份 Web 应用时,为何出现“部分成功”的消息?

备份失败的一个常见原因是应用程序正在使用某些文件。 执行备份时,正在使用的文件会被锁定。 这会阻止对这些文件的备份操作,并可能导致“部分成功”状态。 可以通过将文件从备份过程中排除来防止这种情况发生。 可以选择仅备份所需文件。 有关详细信息,请参阅 Azure Web 应用仅备份站点的重要部分

如何从 HTTP 响应中删除标头?

若要移删除 HTTP 响应的标头,请更新站点的 web.config 文件。 有关详细信息,请参阅在 Azure 网站上删除标准服务器标头

应用服务是否符合 PCI 标准 3.0 和 3.1?

目前,Azure App Service 的 Web 应用功能符合 PCI 数据安全标准 (DSS) 3.0 版级别 1。 PCI DSS 3.1 版正在设计之中。 我们正在计划如何采用最新标准。

PCI DSS 3.1 版证书要求禁用传输层安全性 (TLS) 1.0。 目前,大多数应用服务计划无法禁用 TLS 1.0。 但是,如果使用应用服务环境,或者愿意将工作负荷迁移到应用服务环境,则可以更好地控制环境。 这涉及到通过与 Azure 支持部门联系来禁用 TLS 1.0。 在不久的将来,我们计划使用户可以访问这些设置。

有关详细信息,请参阅 App Service Web 应用 PCI 标准 3.0 和 3.1 符合性

如何使用过渡环境和部署槽位?

在标准版和高级版应用服务计划中,将 Web 应用部署到应用服务时,可部署到单独的部署槽位而不是默认的生产槽位。 部署槽是具有自己的主机名的动态 Web 应用。 两个部署槽(包括生产槽)之间的 Web 应用内容与配置元素可以交换。

有关使用部署槽位的详细信息,请参阅在应用服务中设置过渡环境

如何访问和查看 Web 作业日志?

查看 Web 作业日志:

  1. 登录到 Kudu 网站 (https://*yourwebsitename*.scm.chinacloudsites.cn)。
  2. 选择 Web 作业。
  3. 选择“切换输出”按钮。
  4. 若要下载输出文件,请选择“下载”链接。
  5. 对于单个运行,选择“单个调用”。
  6. 选择“切换输出”按钮。
  7. 选择下载链接。

我在尝试对 SQL Server 使用混合连接。 为什么会看到消息“System.OverflowException: 算术运算导致了溢出”?

如果使用混合连接访问 SQL Server,则 2016 年 5 月 10 的 Azure .NET 更新可能会导致连接失败。 你可能会看到此消息:

Exception: System.Data.Entity.Core.EntityException: The underlying provider failed on Open. —> System.OverflowException: Arithmetic operation resulted in an overflow. or (64 bit Web app) System.OverflowException: Array dimensions exceeded supported range, at System.Data.SqlClient.TdsParser.ConsumePreLoginHandshake

解决方法

该异常是由于混合连接管理器存在问题而导致,该问题现已修复。 请务必更新混合连接管理器以解决此问题。

如何添加 URL 重写规则?

若要添加 URL 重写规则,请使用 wwwroot 文件夹中的相关配置条目创建一个 web.config 文件。 有关详细信息,请参阅 Azure 应用服务:了解 URL 重写

如何控制应用服务的入站流量?

在站点层面上,有两种方法可用于控制应用服务的入站流量:

如果使用应用服务环境,则可以使用 Barracuda 防火墙

如何在应用服务 Web 应用中封锁端口?

在应用服务共享租户环境中,由于基础结构的性质,无法封锁特定端口。 TCP 端口 4020、4022 和 4024 也可能打开,用于 Visual Studio 远程调试。

在应用服务环境中,可完全控制入站和出站流量。 可以使用网络安全组限制或阻止特定端口。 有关应用服务环境的详细信息,请参阅应用服务环境简介

如何捕获 F12 跟踪?

捕获 F12 跟踪有两种方法:

  • F12 HTTP 跟踪
  • F12 控制台输出

F12 HTTP 跟踪

  1. 在 Internet Explorer 中,转到网站。 请务必先登录,然后再执行后续步骤。 否则,F12 跟踪会捕获敏感登录数据。
  2. 按 F12。
  3. 确认已选中“网络”选项卡,然后选中绿色“播放”按钮。
  4. 执行可重现问题的步骤。
  5. 选择红色“停止”按钮。
  6. 选择“保存”按钮(磁盘图标),然后保存 HAR 文件(在 Internet Explorer 和 Microsoft Edge 中),或右键单击 HAR 文件,然后选择“保存为包含内容的 HAR”(在 Chrome 中)。

F12 控制台输出

  1. 选择“控制台”选项卡。
  2. 对于每个至少包含一项的选项卡,选择选项卡(“错误”、“警告”或“信息”)。 如果未选中选项卡,移开光标时,选项卡图标呈灰色或黑色。
  3. 右键单击窗格中的信息区域,然后选择“全部复制”。
  4. 将复制的文本粘贴到文件中,然后保存该文件。

若要查看 HAR 文件,可以使用 HAR 查看器

在我尝试将应用服务 Web 应用到连接到与 ExpressRoute 连接的虚拟网络时,为何会遇到错误?

如果尝试将 Azure Web 应用连接到与 Azure ExpressRoute 连接的虚拟网络,则会失败。 此时会显示以下消息:“网关不是 VPN 网关”。

当前,无法与连接到 ExpressRoute 的虚拟网络建立点到站点 VPN 连接。 对于同一虚拟网络而言,点到站点 VPN 和 ExpressRoute 不能共存。 有关详细信息,请参阅 ExpressRoute 和站点到站点 VPN 连接限制和局限性

如何将应用服务 Web 应用连接到具有静态路由(基于策略)网关的虚拟网络?

当前,不支持将应用服务 Web 应用连接到具有静态路由(基于策略)网关的虚拟网络。 如果目标虚拟网络已经存在,必须在连接到应用之前借助动态路由网关使网络处于点到站点 VPN 启用状态。 如果网关设置为静态路由,则无法启用点到站点 VPN。

有关详细信息,请参阅将应用与 Azure 虚拟网络进行集成

在尝试创建应用服务环境时,为何遇到超时?

优势,创建应用服务环境会失败。 在这种情况下,你会在活动日志中看到以下错误:

ResourceID: /subscriptions/{SubscriptionID}/resourceGroups/Default-Networking/providers/Microsoft.Web/hostingEnvironments/{ASEname}
Error:{"error":{"code":"ResourceDeploymentFailure","message":"The resource provision operation did not complete within the allowed timeout period."}}

若要解决此问题,请确保不存在以下任何情况:

  • 子网太小。
  • 子网非空。
  • ExpressRoute 会阻碍应用服务环境的网络连接要求。
  • 错误的网络安全组会阻碍应用服务环境的网络连接要求。
  • 强制隧道处于打开状态。

有关详细信息,请参阅部署(创建)新 Azure 应用服务环境时的常见问题

为什么无法删除应用服务计划?

如果应用服务计划与任何应用服务应用相关联,则无法删除此应用服务计划。 删除应用服务计划前,请从应用服务计划中删除所有关联的应用服务应用。

如何计划 Web 作业?

可以使用 Cron 表达式创建计划的 Web 作业:

  1. 创建一个 settings.job 文件。
  2. 在此 JSON 文件中,使用 Cron 表达式将计划属性包括在内:
    { "schedule": "{second}
    {minute} {hour} {day}
    {month} {day of the week}" }
    

如何对应用服务应用执行渗透测试?

若要执行渗透测试,请提交请求

如何为使用流量管理器的应用服务 Web 应用配置自定义域名?

若要了解如何将自定义域名用于使用 Azure 流量管理器实现负载均衡的应用服务应用,请参阅为使用流量管理器的 Azure Web 应用配置自定义域名

应用服务中是如何进行身份验证和授权的?

有关应用服务中的身份验证和授权的详细文档,请参阅各种标识提供者登录的文档:

如何将默认 *.chinacloudsites.cn 域重定向到 Azure Web 应用的自定义域?

在 Azure 中使用 Web 应用创建新网站时,将向你的站点分配一个默认 sitename.chinacloudsites.cn 域。 如果将自定义主机名添加到站点,并且不希望用户能够访问默认 *.chinacloudsites.cn 域,可以将默认 URL 进行重定向。 若要了解如何将源自网站默认域的所有通信流重定向到自定义域,请参阅将默认域重定向到 Azure Web 应用中的自定义域

如何确定应用服务中安装的 .NET 版本?

若要查找应用服务中安装的 Azure .NET 版本,最快的方法是使用 Kudu 控制台。 可以从门户或使用应用服务应用的 URL,来访问 Kudu 控制台。 有关详细说明,请参阅确定应用服务中安装的 .NET 版本

为什么自动缩放不按预期方式工作?

如果 Azure 自动缩放未按预期方式缩小或扩大 Web 应用实例,则你可能会遇到我们有意选择不缩放以避免由于“波动”而导致的无限循环的情况。当横向扩展阈值和横向缩减阈值之间没有足够的边距时,通常会发生这种情况。 若要了解如何避免“波动”以及如何了解其他自动缩放最佳做法,请参阅自动缩放最佳做法

为什么自动缩放有时仅进行部分缩放?

当指标超过预配置的限值时,将触发自动缩放。 有时可能会发现,与预期相比,仅填充了部分容量。 当所需的实例数无法实现时,则可能会发生这种情况。 在这种情况下,自动缩放使用可用的实例数进行部分填充。 然后,自动缩放运行重新平衡逻辑,以获取更多容量。 它会分配剩余实例。 请注意,这可能需要几分钟的时间。

如果在几分钟后未看到预期数量的实例,则可能是因为部分重填已足以使指标处于边界内。 或者,可能自动缩放已执行缩小操作,因为已达到度量值的下限。

如果以上情况都不存在而问题仍然存在,请提交支持请求。

如何为内容启用 HTTP 压缩?

若要同时为静态和动态内容类型启用压缩,请将以下代码添加到应用程序级别的 web.config 文件:

<system.webServer>
    <urlCompression doStaticCompression="true" doDynamicCompression="true" />
</system.webServer>

还可以指定要压缩的特定动态和静态 MIME 类型。 有关详细信息,请参阅简单 Azure 网站上的 httpCompression 设置,查看我们对一个论坛问题的回复。

如何从本地环境迁移到应用服务?

若要将站点从 Windows 和 Linux Web 服务器迁移到应用服务,可以使用 Azure App Service 迁移助手。 该迁移工具会根据需要在 Azure 中创建 Web 应用和数据库,然后发布内容。 有关详细信息,请参阅 Azure App Service 迁移助手

为什么我的证书有效期为 11 个月,而不是一整年?

对于 2020/9/1 之后颁发的所有证书,最大持续时间现在为 397天。 对于 2020/9/1 之前颁发的证书,最大有效期为 825 天,除非续订、重新生成密钥等。2020/9/1 之后续订的证书都将受此更改的影响,并且用户可能会注意到其续订证书的有效期会缩短。 GoDaddy 已实现一个订阅服务,该服务既能满足新要求,又遵循现有客户证书。 新颁发的证书在到期前三十天,该服务会自动颁发第二个证书,将持续时间延长到原始到期日期。 应用服务正在与 GoDaddy 合作以解决此更改问题,确保客户获得其证书的完整持续时间。