Получение ошибки после нажатия на Windows Azure: у вас нет разрешения на просмотр этого каталога или страницы
У меня есть googled за последние 3 часа и не нашел ничего о том, что делать в отношении проблемы с окнами azure:
У вас нет разрешения на просмотр этого каталога или страницы.
Я сделал git мастер-нажатие на лазурь, и развертывание было успешным. Я также включил отслеживание неудавшихся запросов, но ничего не появляется, но приведенное выше утверждение.
Любые идеи по устранению неполадок?
Ответы
Ответ 1
Я только что протестировал, что если вы не разворачиваете свой основной файл node.js в качестве server.js, вы получите эту ошибку, потому что web.config специально ищет server.js, как показано ниже:
<handlers>
<add name="iisnode" path="server.js" verb="*" modules="iisnode"/>
</handlers>
Чтобы устранить эту проблему, вы можете получить доступ к сайту через FTP, как описано здесь.
Ответ 2
Ответ AvkashChauhan привел меня в направлении записи, но мне также пришлось добавить правильные правила перезаписи. Вот мой полный web.config
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation batch="false" />
</system.web>
<system.webServer>
<handlers>
<add name="iisnode" path="server.js" verb="*" modules="iisnode" />
</handlers>
<rewrite>
<rules>
<rule name="myapp">
<match url="/*" />
<action type="Rewrite" url="server.js" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Ответ 3
Не относится к node.js, но обновляется, если он помогает другим, сталкивающимся с этой проблемой, для обычного веб-приложения. Это также может произойти, если файл index.html отсутствует или не найден, потому что он находится в подкаталоге
Ответ 4
Я тоже ударил эту ошибку. Я использую MVC, и причина ошибки в том, что на моей странице макета у меня был вызов действия, которое недоступно для анонимных пользователей:
@Html.Action("GetMenu", "Users")
Для информации, я регистрирую глобальный фильтр AuthorizeAttribute()
в Application_Start, а мое действие Login
украшено AllowAnonymous
:
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginModel model, string returnUrl)
{
Мой веб-сайт работал ранее на IIS7, но Azure менее прощает. Я исправил проблему, добавив такую проверку:
@if (User.Identity.IsAuthenticated)
{
@Html.Action("GetMenu", "Users")
}
Ответ 5
Лазурные инструменты сильно изменились с этого вопроса.
Я рекомендую людям использовать azure-cli. Но достаточно забавно, что я действительно не использую его после того, как однажды использовал его для создания сайта.
То, что я использую сейчас, это просто возможность нажать (git) непосредственно на удаленный носитель с именем azure, а cli устанавливает это для вас.
Но если вы не хотите устанавливать cli, вы можете просто добавить удаленное репо (ваш сайт) вручную, например:
git remote add azure https://<site-or-appservice-name>.scm.azurewebsites.net/<site-or-appservice-name>.git
Как и с любым другим удаленным git.
Ответ 6
Я просто столкнулся с этой проблемой, и в моем случае это была проблема конфигурации ipSecurity. Просто hd пойти и изменить allowUnlisted на true.
<security>
<ipSecurity allowUnlisted="false">
</security>
Ответ 7
У меня такая же проблема, вам нужно переместить файл server.js в корневую папку приложения
Ответ 8
Простая конфигурация, на лазурном портале, переходите к
веб-приложение → Все настройки → настройки приложения,
в документах по умолчанию добавьте конкретное имя вашего документа, который вы хотите просмотреть, дождитесь его обновления, а затем обновите свою лазурную ссылку.
Ответ 9
У меня было такое же сообщение об ошибке после git push
из локального репозитория.
Решил его, открыв приборную панель Azure:
Веб-приложение/источник развертывания/развертывания приложений
и выбрав локальный репозиторий git в качестве источника развертывания