Сообщение веб-сайта Azure "У вас нет разрешения на просмотр этого каталога или страницы". Что делать?
После того, как я опубликовал приложение ASP.NET Core в Azure из Visual Studio 2017, я получаю это сообщение при нажатии на URL-адрес приложения:
Раньше все работало нормально. Есть ли способ сбросить исходный код или приложение?
Есть ли у вас какие-либо решения?
Ответы
Ответ 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 значение "Разработка", которое можно найти в службе приложений здесь: