Приложение Node.JS будет работать на локальном хосте, но не через URL через iisnode. - PullRequest
0 голосов
/ 23 октября 2019

У меня есть приложение node.js, которое работает нормально, когда я перехожу на localhost: 3000, однако, когда я пытаюсь получить к нему доступ через URL-адрес с помощью iisnode, оно возвращает следующее.

Обнаружено iisnodeошибка при обработке запроса.

HRESULT: 0x2 Статус HTTP: 500 Подстатус HTTP: 1002 Причина HTTP: Внутренняя ошибка сервера Вы получаете этот ответ HTTP 200, так как конфигурация system.webServer/iisnode/@devErrorsEnabledзначение «true».

В дополнение к журналу stdout и stderr процесса node.exe рассмотрите возможность использования отладки и трассировки ETW для дальнейшей диагностики проблемы.

Последние 64 КБвыходные данные, сгенерированные процессом node.exe для stderr, показаны ниже:

Предупреждение: connect.session () MemoryStore не предназначен для производственной среды, так как будет пропускать память и не будет масштабироватьсямимо одного процесса. Производство труб требует повышенных привилегий

1 Ответ

0 голосов
/ 23 октября 2019

Вы имеете в виду, что можете получить доступ к приложению node.js непосредственно на сервере, но если вы используете IP-адрес, он выдаст ошибку?

В качестве предупреждения вы, похоже, использовали MemoryStore длясохранить сеансMemoryStore только для режима разработки, это может вызвать эту проблему.

Я предлагаю вам попробовать использовать пакет cookie-session .

Для этого просто установите cookie-session:

npm install cookie-session

Затем в вашем app.js найдите, где используется express-session, и замените cookie-session.

app.use(require('cookie-session')({
    // Cookie config, take a look at the docs...
}));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...