【应用服务 App Service】Azure 应用服务测试网络访问其他域名及请求超时限制(4分钟 ≈ 230秒)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 【应用服务 App Service】Azure 应用服务测试网络访问其他域名及请求超时限制(4分钟 ≈ 230秒)

测试App Service是否可以访问其他DNS

当应用服务(Azure App Service)创建完成后,想通过ping命令来查看是否可以访问其他站点或解析DNS,但是发现ping命令无法使用。这是因为App Service存在安全约束,因此无法通过控制台运行 ping、nslookup 和 tracert 工具 。为了测试DNS功能和测试主机TCP的连接问题,App Service 提供了两个命令

  • nameresolver.exe 用于测试 DNS 功能,命令格式为:nameresolver.exe hostname [optional: DNS Server]
  • tcpping.exe 测试与主机的 TCP 连接情况,以及端口组合情况,命令格式为:tcpping.exe hostname [optional: port]

:若要了解可供应用在控制台中使用的 DNS 服务器,请查看环境变量 WEBSITE_DNS_SERVER 和 WEBSITE_ALT_DNS_SERVER。可参考:

【应用服务 App Service】当遇见某些域名在Azure App Service中无法解析的错误,可以通过设置指定DNS解析服务器来解决

如果使用ping命令,则出现Unable to contact IP driver. General failure提示,所以可以使用tcpping.exe, 测试结果如下:

 

 

(注:执行命令的页面为App Service的高级管理工具 -- Kudu,进入方式可以从门户中(高级工具 -- Kudu) 或通过在app service KUDU 的URL:https://<your site>.scm.chinacloudsites.cn/DebugConsole)

 

Azure App Service的有HTTP请求超时时间为230秒的默认限制

为何我的请求在 230 秒后超时

Azure 负载均衡器的默认空闲超时设置为四分钟。 这通常是 Web 请求合理的响应时间限制。 如果 Web 应用需要后台处理,建议使用 Azure WebJobs。 Azure Web 应用可以调用 WebJobs,并在后台处理完成时收到通知。 有多种方法可用于使用 WebJobs,包括队列和触发器。

 

关于 Azure Web 应用 4 分钟空闲连接的限制

Azure Web 应用后台在处理耗时较长的请求时,并且在此期间,客户端和 Azure Web 应用没有数据交互,即 TCP 连接一直处于空闲状态,此种情况超过 4 分钟后,Azure Web 应用会强制断开于客户端的 TCP 连接,并且客户端如浏览器会收到请求错误。

Azure Web 应用的工作流如下:

根据上图所示,一个 Web 请求首先到 Azure 前端的负载均衡器,负载均衡器将请求转发到对应的实例进行处理,实例中运行的代码还有可能要连接后台数据库。当处理整个请求超过 4 分钟时,为了保证 Azure 后台的网络资源得到有效利用,Azure 服务端将会断开连接。

如果在处理请求期间,有持续的数据传输则不受此限制,比如客户端上传一个大文件,虽然耗时超过 4 分钟,但是在此期间客户端和 Azure 服务端是有持续的数据交互,此种情况不被认为是一个空闲连接。

目前这个空闲连接的时间(默认 4 分钟)是无法修改的。对于需要 4 分钟以上才能处理完毕的一些请求,建议采用异步处理。

相关文章
|
16天前
|
消息中间件 存储 Serverless
函数计算产品使用问题之怎么访问网络附加存储(NAS)存储模型文件
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
1天前
|
SQL JavaScript 前端开发
基于Python访问Hive的pytest测试代码实现
根据《用Java、Python来开发Hive应用》一文,建立了使用Python、来开发Hive应用的方法,产生的代码如下
12 6
基于Python访问Hive的pytest测试代码实现
|
1天前
|
SQL JavaScript 前端开发
基于Java访问Hive的JUnit5测试代码实现
根据《用Java、Python来开发Hive应用》一文,建立了使用Java、来开发Hive应用的方法,产生的代码如下
15 6
|
20天前
|
JavaScript 网络协议 API
【Azure API 管理】Azure APIM服务集成在内部虚拟网络后,在内部环境中打开APIM门户使用APIs中的TEST功能失败
【Azure API 管理】Azure APIM服务集成在内部虚拟网络后,在内部环境中打开APIM门户使用APIs中的TEST功能失败
|
16天前
|
JSON 安全 网络协议
【Azure Policy】添加策略用于审计Azure 网络安全组(NSG)规则 -- 只能特定的IP地址允许3389/22端口访问
为了确保Azure虚拟机资源的安全管理,只有指定IP地址才能通过RDP/SSH远程访问。解决方案包括使用Azure Policy服务扫描所有网络安全组(NSG),检查入站规则中的3389和22端口,并验证源地址是否在允许的IP列表中。不符合条件的NSG规则将被标记为非合规。通过编写特定的Policy Rule并定义允许的IP地址参数,实现集中管控和合规性检查。
|
20天前
【Azure App Service】列举为App Service集成虚拟网络(VNET)操作时所需要的最小权限
【Azure App Service】列举为App Service集成虚拟网络(VNET)操作时所需要的最小权限
|
20天前
|
缓存 负载均衡 NoSQL
【Azure Redis】Azure Redis添加了内部虚拟网络后,其他区域的主机通过虚拟网络对等互连访问失败
【Azure Redis】Azure Redis添加了内部虚拟网络后,其他区域的主机通过虚拟网络对等互连访问失败
|
20天前
|
网络协议 Linux 网络安全
【Azure 应用服务】更便捷的方式抓取Azure App Service for Windows的网络包
【Azure 应用服务】更便捷的方式抓取Azure App Service for Windows的网络包
|
13天前
|
Web App开发 Java 视频直播
FFmpeg开发笔记(四十九)助您在毕业设计中脱颖而出的几个流行APP
对于软件、计算机等专业的毕业生,毕业设计需实现实用软件或APP。新颖的设计应结合最新技术,如5G时代的音视频技术。示例包括: 1. **短视频分享APP**: 集成FFmpeg实现视频剪辑功能,如添加字幕、转场特效等。 2. **电商购物APP**: 具备直播带货功能,使用RTMP/SRT协议支持流畅直播体验。 3. **同城生活APP**: 引入WebRTC技术实现可信的视频通话功能。这些应用不仅实用,还能展示开发者紧跟技术潮流的能力。
36 4
FFmpeg开发笔记(四十九)助您在毕业设计中脱颖而出的几个流行APP
|
7天前
|
移动开发 小程序 JavaScript
uni-app开发微信小程序
本文详细介绍如何使用 uni-app 开发微信小程序,涵盖需求分析、架构思路及实施方案。主要功能包括用户登录、商品列表展示、商品详情、购物车及订单管理。技术栈采用 uni-app、uView UI 和 RESTful API。文章通过具体示例代码展示了从初始化项目、配置全局样式到实现各页面组件及 API 接口的全过程,并提供了完整的文件结构和配置文件示例。此外,还介绍了微信授权登录及后端接口模拟方法,确保项目的稳定性和安全性。通过本教程,读者可快速掌握使用 uni-app 开发微信小程序的方法。
25 3