Http получить проблемы в ISS / angular - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть развернутая производственная версия на моем сервере IIS, доступная через localhost: 80 / myApp, а также внешне кем-либо.

Он делает запрос на получение, используя url localhost: 8080 / datalist для заполнения страницы, так как база данных размещена на другом сервере, и я использую программное обеспечение (Rocket u2) для доступа к этому серверу, я вижу данные, когдаЯ захожу на localhost: 8080 / datalist, так что я знаю, что я подключен к этому серверу.

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

Сначала произошла ошибка CORS, которую я попытался включить в файле Web.config, но я все еще получаю жёлтое уведомление.И я также получаю имя ошибки, не разрешенное для локального хоста: 8080

Есть ли другой способ, которым необходимо настроить angular для получения таких данных, или это происходит в настройках сервера iis.

1 Ответ

0 голосов
/ 13 декабря 2018

Существует множество вещей, которые могут привести к появлению этих ошибок.В какой-то момент у меня возникли похожие проблемы, и вот что я хотел бы проверить, если бы я был вами.

  1. CORS не будет запускаться при определенных типах запросов.Попробуйте задать свой ContentType как «application / json» в ваших HttpHeaders для вашего запроса на получение.
  2. Убедитесь, что у вас есть соответствующая конфигурация для web.config вашего сайта в IIS.Это нужно переписать URL.Я поставлю вас в конце поста для справки.

Хороший инструмент для проверки того, что происходит, и выяснения причины его отказа: Скрипач

Еще одно удобное расширение Chrome для проверки того, связана ли проблема только с CORS, Расширение Chrome Moesif

Это также, вероятно, поможет вам выяснить, где может быть проблема, если вы прочитаете о CORS aмало, если вы не знаете, что такое технология.Вот хороший пример: Совместное использование ресурсов Mozilla Developper для разных источников (CORS)

Удачи с этим Сэмом, в начале это может быть немного ошеломляюще, но выполучить это;)

<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="/" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>
...