JWT не работает с Laravel 5.6 за балансировщиком нагрузки. Возвращение неавторизованным - PullRequest
0 голосов
/ 12 сентября 2018

Настройка:

У нас есть два проекта Laravel.Один из них действует как клиент API (Laravel 5.4), а другой - как сервер API (Laravel 5.6).Они оба размещены в AWS за балансировщиком нагрузки (2 экземпляра, 2 для клиентского сервера, 2 для api-сервера).

Мы используем библиотеку https://github.com/tymondesigns/jwt-auth на сервере API для аутентификации клиентских запросов через токен JWT.Использование Redis в качестве драйвера кэша.

Что работает?

Когда мы используем 1 экземпляр в балансировщике нагрузки сервера API, он работает нормально.В локальной среде каждого разработчика команды это работает отлично.

Проблема:

Как только мы увеличим сервер API до 2 экземпляров в балансировщике нагрузки AWS, он больше не будет работать.Сервер API случайным образом возвращает Unauthenticated со статусом 401.Иногда он работает, но отправляет этот Unauthenticated ответ случайным образом.Понятия не имею, почему это происходит.Мы попытались увеличить количество экземпляров на нашем тестовом сервере.Он действует одинаково, так что, похоже, он существует с несколькими серверами в балансировщике нагрузки.Но почему это так?Как мы можем решить эту проблему?Мы не можем воспроизвести эту проблему на локальном компьютере.

...