Отсутствует настраиваемый заголовок с django, nginx и gunicorn.

Заявление об ограничении ответственности:

Я работаю над проектом, в котором существует «огромное» веб-приложение с api для мобильных устройств, поэтому изменение api не является вариантом.

Это приложение было разработано некоторое время назад, и несколько разработчиков работали над ним,

Сказав это, проблема в следующем:

В api для мобильных устройств этого сайта (просто просматривает, а не возвращает данные json), код ищет токен, но делает это в заголовках запроса:

token = request.META.get('HTTP_TOKEN')

Когда я тестирую этот api локально, он работает нормально, а в производстве - нет, поэтому я пытаюсь выяснить, что происходит, и обнаружил следующее:

django преобразует заголовки, даже пользовательские заголовки, в ключи в request.META, я использую urllib2 и запросы для тестирования api, и проблема в производстве заключается в том, что на производственном сервере запрос. META никогда не имеет ключа с именем HTTP_TOKEN. Итак, немного отладив, я серьезно думаю, что проблема в том, как мы обслуживаем приложение django.

Мы используем django1.3, nginx, gunicorn, virtualenvwrapper, python2.7.

Мой главный подозреваемый - nginx, я думаю, каким-то образом nginx получает заголовок, но не пересылает его django, я пытаюсь провести небольшое исследование по этому поводу, но я нашел только информацию о заголовках безопасности и настраиваемых заголовках от nginx, но Я не нашел документа или чего-то еще о том, как сообщить nginx, который разрешает этот заголовок, и не удалять его.

Здесь мне нужна помощь. Во-первых, проверьте, получает ли nginx заголовок, но я немного знаю о nginx и не знаю, как указать ему, чтобы он регистрировал заголовки запросов.

Спасибо

Обновление

файл конфигурации nginx

9
задан diegueus9 11 November 2011 в 19:39
поделиться