403 - запрещено: доступ запрещен после развертывания Angular в IIS Development Server - PullRequest
0 голосов
/ 14 апреля 2020

Можете ли вы помочь мне выяснить, что я упустил при развертывании моего приложения Angular 8 на сервере разработчика.

Сначала я создаю свое приложение с помощью этой команды.

ng build --configuration=dev --base-href /my-sample-app/

Во-вторых, на сервере я вставляю содержимое папки dist в

D:\webapps\mysampleapp

В-третьих, я добавляю новое приложение в IIS. Я устанавливаю alias на my-sample-app и указываю physical path на D:\webapps\mysampleapp

Содержание моего web.config ниже

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Angular" 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="./index.html" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

base href в моем Index.html это

<base href="/my-sample-app/">

Моя проблема была, каждый раз, когда я нажимаю https://dev.company.com/my-sample-web я получаю 403 - Forbidden: Access is denied. ошибку.

enter image description here

Но, когда я пытаюсь получить доступ к другой странице, такой как https://dev.company.com/my-sample-web/other-component, она загружает страницу как положено.

У меня также есть этот маршрут в моей angular маршрутизации.

{
  path: '',
  pathMatch: 'full',
  loadChildren: './feature/my-sample-app/sampleapp.module#SampleAppModule',
  canActivate: [Auth_Guard]
}

Есть идеи, что я сделал не так?

TIA!

1 Ответ

0 голосов
/ 14 апреля 2020

, если вы добавляете href="/my-sample-app/ в индекс. html вручную, затем удалите его из ng build command

...