Поле cookie NowJS в this.user пусто

В соответствии с этим: https://gist.github.com/2266544, Поддержка сеансов в Now.js.

Этот код должен возвращать идентификатор клиента NowJS, cookie и сессию:

nowjs.on('connect', function() { console.log(this.user); })

Однако, то, что я получил, было:

{clientId: 'нечто', cookie: { } }

Поле cookie пусто. Там нет записи сеанса (который я прочитал, является официальной проблемой).

Дополнительная информация

Я также использую ExpressJS, PassportJS, Mongoose, session-mongoose. Я инициализировал NowJS после настройки Express.

Вопрос

Почему мое поле cookie пустое и как я могу его заполнить?

1 ответ

Решение

После многих часов разочарования я обнаружил, что cookie не отправлялся, потому что я слушал порт 3000, который считался междоменным запросом. Прослушиваемый порт должен быть http-сервером, который устанавливает cookie.

Я использую Dreamhost, в котором Apache прослушивает порт 80, и нам не разрешается его привязывать или привязывать к порту 80. Но я смог решить эту проблему, прослушав порт 8080.

Файл cookie был успешно отправлен, когда я настроил прослушивание порта 8080.

редактировать

Это работало только в течение короткого времени. Не уверен почему. Файлы cookie перестали отправляться через некоторое время.

Редактировать 2

Это снова сработало после того, как я настроил прокси-сервер для переадресации с 80 на 8080 (Google для "прокси-сервер мечты") По сути, поставив Apache перед Node.

Другие вопросы по тегам