#android #cordova #lets-encrypt
Вопрос:
Вызовы 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 (должны поддерживать старые телефоны)
Ничего не работает. Пожалуйста, помогите
Ответ №1:
Я отвечу на свой собственный вопрос, это может сэкономить кому-то МНОГО времени. Проблема в том, что я использую SSL-сертификаты let’s encrypt на Windows Server через Win-Acme, и я тестировал на Android 6.1.0. После этого сообщения я только что заметил, что SSL-сертификаты Let’s Encrypt больше не будут работать на Android
Протестировано на Android 11, и это просто сработало.
Ответ №2:
Вам следует проверить, нет ли у вас каких-либо ошибок. Если вы запустите свое приложение file:
, вам может понадобиться AndroidInsecureFileModeEnabled
config.xml
Я предлагаю вам использовать загрузчик webviewasset с cordova-android@10. Пожалуйста, ознакомьтесь с объявлением https://cordova.apache.org/announcements/2021/07/20/cordova-android-10.0.0.html
Комментарии:
1. Как говорится в моем посте, все звонки мои по HTTPS, и все отлично работает при отладке, в том числе на физическом устройстве, ошибок CORS нет. Проблема только в сборках выпуска. Все активы загружаются нормально, проблема в AJAX. Также уже был включен AndroidInsecureFileModeEnabled.