Django Socketio Nginx прокси и проблема сессионных куки - PullRequest
0 голосов
/ 06 февраля 2012

Я следовал этому руководству: http://www.stephendiehl.com/?p=309, описывающему, как запустить сервер Gevent Pywsgi, обслуживающий Django с socketio за интерфейсом nginx.

Как говорится в этом руководстве, Nginx не поддерживаетwebsocket, если не используется прокси-модуль tcp.Этот прокси-модуль не поддерживает использование одного и того же порта для socketio и классического обслуживания, насколько я понял, конфигурация выглядит следующим образом:

nginx listen на порту 80

nginx tcp proxy listenна порту 7000

Все перенаправлено на порт 8000

Проблема: полученный запрос socketio не включает файл cookie django, содержащий идентификатор сеанса, поэтому у меня нет информации озапрашивающий пользователь в моем представлении django.

Я полагаю, это вызвано тем, что запрос сделан на другой порт (7000), в результате чего браузер идентифицирует запрос как междоменный?

Как можно было бы включить файл cookie django в запрос?

1 Ответ

1 голос
/ 07 февраля 2012

Большинство ответов в этот вопрос , кажется, указывают на то, что порт не имеет значения.

Также проверено, и предположительно WebSockets рассматривается как HTTP, поэтому куки HTTPOnly все равно должны отправляться.*

SocketIO, похоже, использует собственный менеджер сессий для отслеживания пользователей.Может быть, попытаться связать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...