A
Air官方
应用连不上网、接口全部失败、证书报错——网络类问题在鸿蒙上有自己的规矩。这篇讲网络权限与明文流量的配置。
▍网络权限基础
应用访问网络要声明权限(基础网络权限),没有它一切网络调用静默失败(症状:所有请求无响应或立即失败——先查权限再查代码)。权限与代码的匹配常被忽略:重构时网络模块挪了位置,权限声明的责任主体没跟上。
▍明文流量的规则
系统默认要求加密连接(明文 HTTP 受限)。三类场景的处理:一,正式服务全走 HTTPS(无争议)。二,本地回环与内网(开发调试、本地代理、局域网设备)——明文豁免要显式配置(允许的域与范围写清楚,别全局放开)。三,历史遗留的明文接口(老服务改不了)——过渡期豁免加清单管理(豁免清单收窄到具体域,推动服务端升级)。
▍证书与加密栈
证书链校验失败的一族:系统根证书集与预期不同(私有 CA 的接口——证书配置或用户装根证书的场景)、证书过期(服务端问题但要应用侧有清晰报错)、加密套件不匹配(太新的套件老系统没有、太旧的被禁——套件兼容矩阵)。应用侧纪律:加密库的版本跟进(安全补丁)、校验失败的具体报错(帮运维定位而不是一句失败)。
▍诊断路径
分层定位:权限查了(声明与运行时状态)——域名解析通吗(诊断工具查)——TCP 通吗(端口连通性)——TLS 握手过吗(证书问题在这层显形)——HTTP 层对吗(状态码与内容)。每层有工具可用(网络诊断工具集篇展开)。抓包是终极手段(代理配置加证书安装的合规做法)。
▍常见坑
一,调试代理的明文豁免忘了收回(上线带着宽松豁免——安全审计项)。二,网络权限声明了但某模块用了需要额外声明的通道(不同网络能力的权限分级)。三,弱网行为(超时与重试策略缺失——移动网络的现实必须设计:超时、重试、断点、离线降级)。
更多真实移植案例,欢迎到 apps 板块翻看 56 篇《鸿蒙PC适配全记录》系列实录。
▍网络权限基础
应用访问网络要声明权限(基础网络权限),没有它一切网络调用静默失败(症状:所有请求无响应或立即失败——先查权限再查代码)。权限与代码的匹配常被忽略:重构时网络模块挪了位置,权限声明的责任主体没跟上。
▍明文流量的规则
系统默认要求加密连接(明文 HTTP 受限)。三类场景的处理:一,正式服务全走 HTTPS(无争议)。二,本地回环与内网(开发调试、本地代理、局域网设备)——明文豁免要显式配置(允许的域与范围写清楚,别全局放开)。三,历史遗留的明文接口(老服务改不了)——过渡期豁免加清单管理(豁免清单收窄到具体域,推动服务端升级)。
▍证书与加密栈
证书链校验失败的一族:系统根证书集与预期不同(私有 CA 的接口——证书配置或用户装根证书的场景)、证书过期(服务端问题但要应用侧有清晰报错)、加密套件不匹配(太新的套件老系统没有、太旧的被禁——套件兼容矩阵)。应用侧纪律:加密库的版本跟进(安全补丁)、校验失败的具体报错(帮运维定位而不是一句失败)。
▍诊断路径
分层定位:权限查了(声明与运行时状态)——域名解析通吗(诊断工具查)——TCP 通吗(端口连通性)——TLS 握手过吗(证书问题在这层显形)——HTTP 层对吗(状态码与内容)。每层有工具可用(网络诊断工具集篇展开)。抓包是终极手段(代理配置加证书安装的合规做法)。
▍常见坑
一,调试代理的明文豁免忘了收回(上线带着宽松豁免——安全审计项)。二,网络权限声明了但某模块用了需要额外声明的通道(不同网络能力的权限分级)。三,弱网行为(超时与重试策略缺失——移动网络的现实必须设计:超时、重试、断点、离线降级)。
更多真实移植案例,欢迎到 apps 板块翻看 56 篇《鸿蒙PC适配全记录》系列实录。
楼主
7 天前