Приложение Angular успешно развернуто на Azure, но при доступе к сообщению отказано в разрешении - PullRequest
0 голосов
/ 02 мая 2020

Проблема Я пытаюсь развернуть приложение Angular (Angular версия - 8.2.14) на Azure. Я использовал Kudu для развертывания приложения, а код был развернут из моего Github Repo. Состояние развертывания - «успех».

Ошибка при доступе к URL развернутого веб-приложения"У вас нет разрешения на просмотр этого каталога или страницы."

Подходы пытались исправить Проблема Чтобы получить более подробную информацию об ошибке, я попытался включить «Подробные сообщения об ошибках» в разделе журналов службы приложений . Но я тоже не могу получить от этого много информации. Единственная информация, которую я нахожу в «Подробных сообщениях об ошибках»: « Эта ошибка возникает, когда возникает проблема с чтением файла конфигурации для веб-сервера или веб-приложения. В некоторых случаях журналы событий могут содержать дополнительную информацию о что вызвало эту ошибку . "

Я также проверил Журналы событий и нашел следующую информацию:

Exception: System.IO.IOException

Message: The handle is invalid.


StackTrace:    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.__ConsoleStream.Write(Byte[] buffer, Int32 offset, Int32 count)
   at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)



at System.IO.StreamWriter.Write(String value)
   at System.IO.TextWriter.SyncTextWriter.Write(String value)
   at Kudu.Core.Infrastructure.ProgressWriter.IdleWriter(Object state) in C:\Kudu Files\Private\src\master\Kudu.Core\Infrastructure\ProgressWriter.cs:line 109
   at System.Threading.TimerQueueTimer.CallCallbackInContext(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.TimerQueueTimer.CallCallback()
   at System.Threading.TimerQueueTimer.Fire()
   at System.Threading.TimerQueue.FireNextTimers()
   at System.Threading.TimerQueue.AppDomainTimerCallback(Int32 id)</Data></EventData></Event><Event><System><Provider Name="HttpPlatformHandler"/><EventID>2000</EventID><Level>4</Level><Task>0</Task><Keywords>Keywords</Keywords><TimeCreated SystemTime="2020-05-01T16:57:34Z"/><EventRecordID>385268109</EventRecordID><Channel>Application</Channel><Computer>RD501AC5040133</Computer><Security/></System><EventData><Data>APPLICATION_MANAGER::~APPLICATION_MANAGER | this=05B6D878 [TID 6180] [PID 5664]</Data></EventData></Event><Event><System><Provider Name=".NET Runtime"/><EventID>1026</EventID><Level>1</Level><Task>0</Task><Keywords>Keywords</Keywords><TimeCreated SystemTime="2020-05-01T16:57:35Z"/><EventRecordID>385269218</EventRecordID><Channel>Application</Channel><Computer>RD501AC5040133</Computer><Security/></System><EventData><Data>Application: w3wp.exe
Framework Version: v4.0.30319

Я пытаюсь попробовать другие варианты (в основном проверяя учебники по развертыванию Angular приложений на Azure), но пока не удалось решить эту проблему. Directory tree web.config

    <!-- indicates that the index.js file is a node.js application 
    to be handled by the iisnode module -->

    <handlers>
      <add name="iisnode" path="index.js" verb="*" modules="iisnode" />
    </handlers>

    <!-- adds index.js to the default document list to allow 
    URLs that only specify the application root location, 
    e.g. http://mysite.antarescloud.com/ -->

    <defaultDocument enabled="true">
      <files>
        <add value="index.js" />
      </files>
    </defaultDocument>
    <system.web>
      <customErrors mode="Off" />
    </system.web>
  </system.webServer>
</configuration>

Ответы [ 2 ]

1 голос
/ 02 мая 2020

Судя по полученному вами сообщению об ошибке, файлы приложения не были развернуты в ожидаемом месте.

Пожалуйста, обратитесь к моей статье (на французском) здесь: http://espacenuagic.com/2019/03/10/deployer-une-application-angular-sur-azure-app-service/ Обратите особое внимание на содержимое, которое вы развертываете, как показано на этом рисунке:

deploying angular content

в этом примере я развертываю содержимое папки «angled», а не папки «dist».

Надеюсь, это будет полезно.

0 голосов
/ 04 мая 2020

Проблема была решена. В разделе конфигурации - «Сопоставление путей» мне пришлось изменить значение физического пути на «site \ wwwroot \ dist».

...