Проблема конфигурации MVC службы приложения-шлюза приложений Kentico Multisite Azure - ошибка 502 - PullRequest
0 голосов
/ 07 ноября 2018

TL: DR - Как заставить шлюз приложений Azure передавать ошибки 5.xx из службы приложений в мой браузер? В настоящее время шлюз приложений проглатывает любую ошибку 5.xx, сгенерированную службой приложений, и выдает ошибку «502 - веб-сервер получил неверный ответ, выступая в качестве шлюза или прокси-сервера». Я хочу увидеть основную ошибку. И, я думаю, шлюз приложений проигнорирует ошибку и просто передаст все напрямую из службы приложений в мой браузер.

Я включил ведение журнала приложений для службы приложений. Я вижу ошибки 5.xx в папке LogFiles / DetailErrors. Но я думаю, что мне не хватает понимания того, что делает Kentico, когда выдает ошибку 5.xx. Обычно, если вы находитесь на обычном сервере или локально, вы не видите общую страницу 503, поскольку ваш браузер перенаправлен на страницу «Неверный лицензионный ключ».

Example Kentico invalid license key error

Я не знаю, какую внутреннюю (чёрную) магию делает Кентико, чтобы доставить эту страницу, а не обычную страницу недоступности службы asp.net 503. Но эту страницу очень полезно посмотреть, поскольку она дает представление о том, что действительно не так с конфигурацией Kentico.

Справочная информация:

Кажется, что Kentico использует некоторые ошибки 5.xx для информации. например, проверка лицензии выдает ошибку 503 вместо полезного статуса 200 с сообщением, что вам нужно проверить свою лицензию.

У нас есть сайт MVC Kentico 11 MVC. Здесь размещено несколько сайтов. Мы пытаемся настроить шлюз приложений Azure, который указывает на две службы приложений, одну MVC и одну для администратора Kentico.

Пока у меня работает администратор Kentico - все домены могут получить доступ к CMSDesk через шлюз приложений. Однако сайт MVC проблематичен. Я могу получить только домен по умолчанию для службы приложений. Все остальные домены показывают ошибку 502.

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

Похоже, что сообщение «502 - веб-сервер получил недопустимый ответ, выступая в качестве шлюза или прокси-сервера», подается шлюзом приложений за любую ошибку 5.xx, сгенерированную службой приложений, по существу скрывая детали любых Ошибки сервера, которые могут возникнуть. Например: Ошибка лицензии Kentico генерирует 503, который предвидится как проблема с этим модулем: «PageHandlerFactory-Integrated-4.0», а не очевидный экран «недействительной лицензии», который вы обычно видите, когда Kentico размещается на обычном сервере.

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Как только шлюз приложений обнаружит, что сервер не работает, вы увидите ошибку 502.

Вы можете настроить датчик работоспособности в вашем шлюзе приложений, чтобы условия соответствия зондов включали код 503. Например, установите условие на 200-503.

После того, как вы это сделаете, вы должны увидеть страницу 503 из Kentico.

0 голосов
/ 07 ноября 2018

Ошибка неверной лицензии будет отображаться только для сайта администратора, а не для сайта MVC. Никогда не смотрел, что происходит, когда отображается эта ошибка, просто всегда заходи и добавляй мою недостающую лицензию. Если вы хотите получить полную ошибку, я должен убедиться, что вы регистрируете все ошибки в вашем MVC в журнале событий в Kentico.

В вашем файле Global.asax.cs вы, вероятно, можете сделать что-то вроде этого:

   public void Application_Error(Object sender, EventArgs e)
   {
            Exception exception = Server.GetLastError();
            EventLogProvider.LogException("MVC", "EXCEPTION", exception);
   }

Тогда вы сможете увидеть ошибку в журнале событий администратора.

Этот пост может лучше помочь в регистрации ошибок в MVC. Я сделал что-то подобное answer для отображения ошибок на сайте MVC.

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