DataError. Недопустимый синтаксис ввода для типа inet

Это убивает меня... Я получаю эту DataError при попытке вставить в postgres db.

DataError at /admin/docmanager/target/
invalid input syntax for type inet: "86.2.2.61:53886"
LINE 1: ...}', '90b137f6-b2c5-41b5-a9cc-c7267e61f309'::uuid, '86.2.2.61...

Мое приложение развернуто на Azure, и я пробовал два разных экземпляра postgres, и оба возвращают одну и ту же ошибку, когда приложение развернуто на Azure.

Но... когда я развертываю приложение локально, используя те же базы данных postgres, запросы выполняются нормально. Очевидно, это наводит меня на мысль, что существует конфигурация или способ, которым Azure передает IP-адрес, поскольку это проблема инета... но это лишь мои невежественные предположения.

вот трассировка pastebin

любые идеи или толчок в нужном направлении были бы полезны

Проблема специфична при использовании Django AuditLog на Azure Web App.

Azure Web App Service добавляет номер порта через двоеточие к IP-адресу следующим образом:

X-Forwarded-For: {ip_address}:{port_number}

что приводит к нарушению протоколирования во время вставки базы данных. Решением является создание и внедрение пользовательского промежуточного ПО, которое будет правильно форматировать/разбирать ip-адрес.

Более подробную информацию об ошибке можно найти здесь

Вернуться на верх