调试apk正常运行,排除了通常的嫌疑,但是当我构建、签名、安装发布版本时,angular无法进行https $http API调用(对于相同端点的http调用,我在调试期间已经允许)。
安装了cordova白名单
ionic plugin add cordova-plugin-whitelist
manifest.xml包含正确的指令。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Ionic 的 config.xml 包含了正确的指令。
<access origin="*"/>
<allow-navigation href="*" />
我的index.html声明了一个宽松的内容安全策略:
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
我还使用了两个不同的在线SSL检查器来检查我的中间证书链--它们都没问题。
我完全被难住了。有什么建议吗?
openssl s_client -showcerts -connect yourhost.com:443
显示证书链实际上是存在的,但打印出Verify return code: 19 (self signed certificate in certificate chain)
。 - jakub.g