开发者社区 问答 正文

应用研发平台EMAS 网络的有没有办法排查一下,在内网环境下是端口还是协议被限制了之类的?

应用研发平台EMAS 网络的有没有办法排查一下,在内网环境下是端口还是协议被限制了之类的?

展开
收起
小小爱吃香菜 2024-02-18 20:30:34 57 发布于江西 分享
分享
版权
阿里云 AI 助理回答

在排查应用研发平台 EMAS 网络问题时,尤其是在内网环境下判断端口或协议是否被限制,可以按照以下步骤进行详细分析和操作:


1. 检查客户端环境配置

首先需要确认客户端的运行环境是否正确,包括网络类型(内网/外网)、协议类型(HTTP/HTTPS)以及目标服务的端口是否符合预期。
- 关键点:如果使用 HTTPS 协议,需确保 HTTPS 证书已正确安装并生效。若证书未安装,可能会导致页面无法加载。 - 操作建议: - 验证当前设备是否能够正常访问目标服务地址。 - 如果是 HTTPS 请求失败,尝试切换为 HTTP 请求以排除证书问题。


2. 使用 HTTPDNS 排查域名解析问题

如果怀疑内网环境下存在域名解析异常或端口限制,可以通过 HTTPDNS 的“会话追踪方案”进一步排查。
- 核心步骤: 1. 获取 sessionId:在 SDK 启动时生成的 sessionId 是排查的关键标识,用于标记一次独立的 App 生命周期。 2. 记录解析信息:提供以下信息提交工单: - 解析时间、解析域名、解析结果 IP、预期解析结果。 - 是否导致业务服务质量下降或不可用。 3. 分析结果: - 确认解析结果是否由 HTTPDNS 提供。 - 检查该次解析对应的网络环境及入网 IP。 - 判断是否存在 IP 跨区域切换的情况。

  • 注意:此方案要求 SDK 版本满足 Android ≥ 1.2.3iOS ≥ 1.6.20,否则无法使用。

3. 检查网络请求的具体指标

通过 EMAS 的 网络分析 功能,可以查看指定条件下的网络请求指标,帮助定位端口或协议限制问题。
- 操作步骤: 1. 登录 EMAS 管理控制台,进入 性能分析 > 网络分析 页面。 2. 设置筛选条件(如聚合时间为 1 天,最近 7 天的数据)。 3. 查看以下关键指标: - HTTP 错误次数:展示发生 HTTP 错误的域名/路径与错误次数。 - 网络错误次数:展示发生网络错误的域名/路径与错误次数。 - DNS 请求耗时:判断是否存在 DNS 解析延迟或失败。 - TCP 请求耗时:检查 TCP 连接是否超时或失败。 - SSL 请求耗时:验证 SSL 握手是否存在问题。 4. 根据错误次数和耗时数据,判断是否存在端口或协议限制。


4. 检查防火墙或代理配置

内网环境下,防火墙或代理服务器可能对特定端口或协议进行限制。
- 排查方法: - 确认目标服务的端口号是否在内网防火墙允许范围内。 - 如果使用代理服务器,检查代理配置是否正确转发了请求。 - 尝试通过命令行工具(如 telnetcurl)测试目标地址和端口的连通性。


5. 检查依赖库和初始化代码

如果网络请求完全无数据,可能是依赖库未正确集成或初始化代码缺失。
- 关键检查点: 1. Gradle 配置:确保 build.gradle 文件中添加了以下插件: gradle id 'com.aliyun.emas.networkmonitor' 2. 依赖版本:确认以下依赖版本是否正确: gradle implementation 'com.aliyun.ams:alicloud-android-rest:1.7.3-open' implementation 'com.aliyun.ams:alicloud-android-ha-adapter:1.1.5.3-open' implementation 'com.aliyun.ams:alicloud-android-apm:1.1.0.0-open' 3. 初始化代码:检查是否引用了网络监控插件: java AliHaAdapter.getInstance().addPlugin(Plugin.networkmonitor); 4. HTTP 请求配置:若为 HTTP 请求,需在清单文件中添加以下配置: xml android:usesCleartextTraffic="true"


6. 常见错误码排查

如果排查过程中遇到错误码,可以根据错误描述快速定位问题。
- 常见错误码及解决办法: - 错误码 70020/70021/70023:限流相关问题,请联系部署同学确认限流策略。 - 错误码 302/102:设备无效,清除应用数据后重新尝试。 - 错误码 303:AppKey 配置错误,检查 AppKey 是否正确。 - 错误码 304:包名错误,确认 AppKey 和应用包名是否匹配。 - 错误码 -27/-28/-29:建连失败或超时,检查网络是否正常。


总结

通过上述步骤,您可以系统性地排查内网环境下端口或协议是否被限制的问题。重点在于结合 HTTPDNS 的会话追踪方案、网络分析功能以及依赖库的正确配置,逐步缩小问题范围并定位根本原因。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答