502 Проблема с неверным шлюзом при вызове API от Postman или из приложенияPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 502 Проблема с неверным шлюзом при вызове API от Postman или из приложения

Сообщение Anonymous »

Я использую приложение ionic для получения данных из API. Приложение вызывает API с помощью метода POST.
Ниже приведен метод API, который возвращает ответ.

Код: Выделить всё

public function sendResponse($returnVar, $status = 200){
$content_type = 'application/json; charset=utf-8';
//returns message equivalent to status code
$status_header = 'HTTP/1.1 '.$status.' '.$this->getStatusCodeMessage($status);
header($status_header);
header('Content-type: '.$content_type);
header('Access-Control-Allow-Origin: *');
//LineA
header("Access-Control-Allow-Methods: GET, HEAD, POST, OPTIONS, PUT, DELETE");
//LineB
header("Access-Control-Allow-Headers: X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Headers, Access-Control-Request-Method, Authorization");

if($status!==200){
$returnVar["code"] = $status;
}

echo json_encode($returnVar);
exit;
}
Где $returnVar — это данные, возвращаемые вызванным методом API. Больше нигде ошибок нет.
Проблема:
Я получаю сообщение об ошибке 502 плохой шлюз
Я проверил с помощью PostMan. Если я поставлю echo "Here" exit; в LineA. Это работает хорошо. Но когда я помещаю его в LineB, я получаю ошибку 502 Bad Gateway.
Таким образом, проблема явно в заголовке строки («Access-Control-Allow-Methods: GET, HEAD, POST» , ОПЦИИ, ПОЛОЖИТЬ, УДАЛИТЬ"); . Но я не уверен, что именно.
Может ли кто-нибудь пролить свет на то, чего мне не хватает? Заранее спасибо.
Обновление
Удаление последних трех заголовков, похоже, работает. Нужны ли мне последние три заголовка в ответе API? У меня есть отдельный метод для обработки предполетных запросов.
Обновление 2
Иногда оно работает, а иногда нет. Таким образом, несмотря на упомянутые выше изменения, я все равно получал случайную ошибку шлюза 502 с теми же вызовами API с теми же параметрами.

Подробнее здесь: https://stackoverflow.com/questions/699 ... r-from-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»