У меня были очень похожие симптомы в моем текущем проекте PhoneGap. Когда я пытался получить доступ к своему nginx / PHP бэкэнду с помощью вызова jQuery:
var jqxhr = $.post(SERVER_URL, {'some': 'parameters', 'another': 'parameter'}, null, "jsonp")
.done(function (data) {
// Success, do something...
})
.fail(function (data) {
// Failed, do something...
});
... сбой соединения с 404 при использовании SSL. Если SERVER_URL
указывает на URL http
, то вызов работает нормально. На сервере не было никаких перенаправлений. Согласно журналам сервера серверная часть была выполнена и вернула правильный вывод в формате JSON.
Код не работал только с Android 6.x (ранее не тестировался), но работал нормально с iOS 10.x (ранее не тестировался), а также с Firefox и Chromium.
Причина в том, что моя конфигурация nginx имела следующие параметры:
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
Похоже, что другие платформы не уважали эти заголовки, как Android.