Android端Expo APK通过WSS连接反向代理遇证书信任锚问题求助
问题:Expo APK在Android设备上无法通过Nginx反向代理的WSS连接后端
环境配置
- Expo应用连接地址:
wss://ip-of-reverse-proxy:443 - 后端服务器地址:
ws://ip-of-server:81 - 网络环境:所有设备处于LAN私有网络,Nginx反向代理监听443端口处理SSL/TLS
错误现象
其他Windows/Linux客户端可正常连接,但Android设备手动安装APK后出现以下错误:
"java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
(NOBRIDGE) LOG Connection closed 1006 java.security.cert.CertPathValidatorException: Trust anchor for certification path not found."
已尝试的证书方案(均未解决问题)
- 自签名证书:已在反向代理配置并在Android设备安装,非Android客户端正常,Android仍报错
- 根CA签发服务器证书:生成根CA证书及私钥,用其签发反向代理的服务器证书,将根CA证书安装到Android设备,结果相同
- 添加证书扩展:给证书添加subjectAltName、basicConstraints等必要扩展,问题依旧
补充说明
- Android设备安装的证书仅能存入User store,无法安装到System store(不想Root设备)
- ExpoGo开发环境下使用不安全的
ws://可正常连接后端,但APK使用ws://会被Android阻止,使用wss://则触发证书错误 - mDNS功能正常,已排除此因素影响
求助问题
- 该问题是否属于Android的限制?
- 如何让Android端Expo APK通过安全WebSocket(WSS)连接后端?
- Expo通过EAS打包的APK如何正常实现WSS连接?
内容的提问来源于stack exchange,提问作者Tom
相关产品推荐
相关产品推荐

