500 (Ошибка модуля перезаписи URL.) В приложении Angular 7 на IIS7 - PullRequest
0 голосов
/ 21 июня 2019

У меня есть приложение Angular 7, которое я размещаю на IIS 7, которое должно быть доступно на https://example.com/fitcbooks/web. Это сработало, а затем внезапно остановилось - по причине, которую я не могу понять. Перезапись URL-адреса на сервере, кажется, работает (используется для перенаправления других сайтов на том же сервере), но она просто не работает для этого конкретного приложения.

УЖЕ УСТАНОВЛЕН МОДУЛЬ ПЕРЕЗАПИСИ URL-адреса 2 для IIS7. Я также создал угловое приложение, используя --base-ref, и уже использовал код web.config, как показано ниже. Я также создал локальную версию приложения, и она отлично работает на моем MacBook с AMPPS, устраняя любые проблемы в самом приложении. Это похоже на проблему с сервером.

web.config:

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Angular Routes" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="/fitcbooks/web/index.html" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

index.html:

<base href="/fitcbooks/web/">

В настоящее время предварительный загрузчик приложения загружается вечно. Консоль показывает несколько ошибок 500 (URL Rewrite Module Error.). Пожалуйста, помогите.

1 Ответ

0 голосов
/ 22 июня 2019

Наконец-то решили эту проблему!

Проблема заключалась в автоматическом шифровании файлов, сжатых zip на Mac.Я только что перешел с Windows на Mac из-за разработки iOS на прошлой неделе, поэтому я новичок в этом.

Мне удалось выяснить это, прочитав подробности об ошибке HTTP 500 с помощью Failed RequestПравила трассировки в IIS (спасибо @LexLi за подсказку Fiddler).Я просмотрел логи и обнаружил, что конкретная ошибка была 500: 50 .Также нашел ErrorCode Access is denied. (0x80070005), что заставило меня понять, что это как-то связано с доступом к файлу.После некоторого онлайн-поиска я нашел этот пост на форуме (https://forums.iis.net/t/1164360.aspx), установлен Process Monitor и ясно увидел, что Сервер не может получить доступ к файлам приложения.

Папки ву приложения были зеленые метки, поэтому я понял, что они зашифрованы. Я перезагружал файлы без шифрования, и на этом все - приложение работало! Итак, я понял, каким сложным образом сжатые на Mac файлы могут вызвать проблемы в Windows.

Просто выложите это здесь на случай, если это поможет кому-то еще.

...