Подтвердить что ты не робот

Получение ошибки после нажатия на Windows Azure: у вас нет разрешения на просмотр этого каталога или страницы

У меня есть googled за последние 3 часа и не нашел ничего о том, что делать в отношении проблемы с окнами azure:

У вас нет разрешения на просмотр этого каталога или страницы.

Я сделал git мастер-нажатие на лазурь, и развертывание было успешным. Я также включил отслеживание неудавшихся запросов, но ничего не появляется, но приведенное выше утверждение.

Любые идеи по устранению неполадок?

4b9b3361

Ответ 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 в качестве источника развертывания