【发布时间】:2021-11-23 08:30:09
【问题描述】:
Ajax 调用仅在发布版本中不起作用,但在调试版本中正常。我正在通过 https 拨打所有电话。没有 CORS 错误。请注意,该问题仅出现在 Android 上,而不出现在 iOS 上。
我在后端使用 Let's Encrypt SSL 证书。
SHA256withRSA
我已经尝试了所有可用的修复方法:
<plugin name="cordova-plugin-enable-cleartext-traffic" space="^2.1.0" />
我确认我在应用程序节点的清单中有android:usesCleartextTraffic="true"
我已经添加到 config.xml
<access origin="*" />
<allow-navigation href="*" />
<preference name="AndroidInsecureFileModeEnabled" value="true" />
还有
<edit-config xmlns:android="http://schemas.android.com/apk/res/android" file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
<application android:networkSecurityConfig="@xml/network_security_config" />
</edit-config>
并在res/xml 中创建了一个文件network_security_config.xml 的内容
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">mydomain.com</domain>
</domain-config>
</network-security-config>
我已验证我的 Let's Encrypt SSL 证书有效,确实如此。由于 Android 10+,我不再有白名单插件
版本是
Cordova Android 10.1.1
Cordova 10.0.0
在运行 Android 6.0.1 的真实设备上测试(必须支持旧手机)
似乎没有任何效果。接下来我可以尝试什么?
【问题讨论】:
标签: android cordova lets-encrypt