2015-07-14 3 views
3

Наткнулся на интересную проблему с веб-приложением Azure, работающим с узлом IIS, и хотел поделиться, потому что я не смог найти информацию об этом.Пользовательские сообщения об ошибках в Node Azure Web App

Проблема:

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

Быстрый пример:

app.post('/user', function(req, res, next) { 
    // Parse out the user data 
    // ... 
    // Oh no! An error! 
    if (invalidData) { 
     return res.status(400).json({error: 'Invalid username, must be at least 4 characters.'}); 
    } 
    // ... 
}); 

Это приходит через мой Web App в качестве стандартного «400: Неверный запрос ...» сообщение, а не мое сообщение об ошибке. На клиенте я пытался сделать , который не работал, поскольку err.responseText был строкой "Bad request...", а не моим объектом JSON.

ответ

7

Решение!

В файле web.config добавьте эту строку между <system.webServer> ... </system.webServer>:

<httpErrors existingResponse="PassThrough" />

Надеюсь, никто не бьет этот вопрос, как я сделал. Я уверен, что это была смесь неправильного поиска и неопытности с IIS, но я никогда не нашел ответа в Интернете, я наткнулся на несколько ссылок, которые привели меня к IIS error handling page.

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

 Смежные вопросы

  • Нет связанных вопросов^_^