Сообщение веб-сайта Azure "У вас нет разрешения на просмотр этого каталога или страницы". Что делать?

После того, как я опубликовал приложение ASP.NET Core в Azure из Visual Studio 2017, я получаю это сообщение при нажатии на URL-адрес приложения:

enter image description here

Раньше все работало нормально. Есть ли способ сбросить исходный код или приложение?

Есть ли у вас какие-либо решения?

Ответ 1

You do not have permission to view this directory or page.

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

  • Войдите в Azure> Службы приложений (левое боковое меню)> Your Web App> Журналы службы приложений (окно поиска находится вверху, если вы не можете его найти), затем включите Detailed Error Messages или включите все параметры ведения журнала, до вас.
  • Теперь добавьте следующее в свой файл Web Config,
  • В вашем файле Web Config добавьте <customErrors mode="Off" /> ПЕРЕД закрывающим тегом system.web, </system.web>. Аналогичным образом добавьте <httpErrors errorMode="Detailed"></httpErrors> ДО </system.webServer>. Наконец, загрузите Web Config в Azure и скрестите пальцы.

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

Ответ 2

You do not have permission to view this directory or page.

Это сообщение показывает, когда вы ограничиваете ip в конфигурации IIS. Проверьте файл Web.config и добавьте свой IP-адрес в раздел безопасности, как показано ниже:

<security>
<ipSecurity allowUnlisted="false">
<clear />
<add ipAddress="192.168.250.70" allowed="true" />
</ipSecurity >
</security>

Удалите его, если вы не хотите ограничивать какой-либо IP-адрес.

Ответ 3

Исходя из моего опыта, если ваш логин ID пользователя в Azure Active Directory (AAD), вы должны изменить в настройках:

  • Аутентификация/Авторизация
  • Аутентификация службы приложений, "ON" =>> выберите: войти в систему с помощью Azure Active Directory
  • Выберите "ActivityProvider", исходя из ваших целей. В моем случае я использую AAD.
  • Настроен (экспресс: существующее приложение)
  • Управление Azure Active Directory: управление разрешениями и управление приложениями

В поле "Управление разрешениями" ==>> "Добавить" в разделе "Права доступа для делегатов" выберите: Войдите в систему, прочитайте профиль пользователя и обновите браузер, чтобы снова войти в систему.

Ответ 4

На самом деле, вам нужно загрузить файл index.php прямо в wwwroot (внутри "site" foler)

Ответ 5

Из описания ошибки не совсем понятно, что здесь не так.

Вы можете проверить, доступны ли развернутые файлы или нет с помощью консоли Kudu.

Кроме того, убедитесь, что ваш загрузочный файл (для ex: index.htm) добавлен в раздел документов по умолчанию.

Я предлагаю вам обратиться к разделу "Включить ведение журнала диагностики для веб-приложений в службе Azure App Service" и " Устранение неполадок в ASP.NET Core в Azure App Service", чтобы проверить полную информацию об ошибке и причину.

Ответ 6

  • Первое, что вы должны сделать, это на самом деле пойти и проверить папки, если ваша война была распакована внутри папки webapps. для этого, если ваш веб-адрес "xyz.azurewebsites.net", попробуйте открыть xyz.scm.azurewebsites.net. Это должно перенаправить вас на интерфейс KUDU, где вы можете увидеть несколько вкладок. На этих вкладках выберите Debug Console, а затем выберите CMD из выпадающего списка. Это должно дать вам структуру папок. Теперь перейдите в site-> wwwroot-> webapps. Там проверь, распакована ли твоя война.
  • Если нет, то попробуйте перезапустить веб-приложение и посмотреть идентификатор, что делает свое дело. Если при создании плана обслуживания приложения вы выбрали стандартную ценовую категорию, измените ее на премиальную.
  • Последний, но не список, вы можете включить ведение журнала для вашего приложения. Затем перейдите в Monitoring-> Журналы диагностики. Включите эти настройки. Затем выберите Журнал потоковой передачи (чуть ниже журналов диагностики).

Надеюсь, это поможет.

Ответ 7

Просто чтобы добавить к решениям: в моем случае я обновил приложение, но пул приложений был установлен на "Всегда включено", поэтому что-то "запутало" его. Все, что мне нужно было сделать, это:

  • перейти к настройкам сайта на портале Azure
  • затем выберите конфигурацию в настройках
  • затем выберите вкладку Общие настройки на странице конфигурации
  • На вкладке "Общие настройки" переключите "Всегда включено" на Выкл.
  • и снова подключитесь к вашему сайту как обычно.
  • Когда сайт вернулся и работает переключатель "Always On" назад Вкл.

Ответ 8

Чтобы включить ошибки на производстве, мне пришлось установить для переменной среды ASPNETCORE_ENVIRONMENT значение "Разработка", которое можно найти в службе приложений здесь:enter image description here