Я заметил странное поведение в отношении запросов POST на всех моих серверах с устройств, подключенных к Интернету через 4G или через точку доступа из сети 4G.
Я являюсь администратором двух сервисов, размещенных на AWS. Обе службы используют один и тот же Elastic Load Balancer и размещаются через ECS (докер). Обе службы работают с gunicorn и django, но прослушивают их на разных конечных точках.
Дело в том, что ВСЕ запросы POST, сделанные с устройства с 4G или подключением к точке доступа, никогда не доходят даже до ELB (согласно журналам ни один запрос не записывается), который является первой контролируемой мной точкой входа.
Я использовал режим отладки и попробовал выполнить несколько запросов со своего устройства Android, и на вкладке «Сеть» инструментов разработчика Chrome вижу, что запрос не выполняется без кода ответа. Это просто глохнет.
Я могу свободно скопировать запрос как curl, и он работает.
В коде JS нет ничего необычного, это типичный запрос AJAX POST.
Есть идеи относительно того, что происходит? Любые советы о том, как это отладить?
Я опубликую здесь обновление, чтобы любой в будущем мог ясно увидеть решение.
Как предположил Майкл Хэмптон, проблема заключалась в том, что мой стек не был правильно настроен для обработки соединений IPv6. Точнее; Мой ELB уже был в режиме двойного стека, у моего VPC было 2 подсети, в обеих уже были блоки CIDR, связанные с IPv6, НО мой в таблице маршрутизации не было правила маршрутизации для :: / 0 Таким образом, весь трафик с IPv6 был отключен. Я перенаправил весь трафик IPv6 на интернет-шлюз, связанный с моим VPC, и теперь все работает нормально.