503 служба недоступна IIS + локальный хост + WebAPI + VS Android эмулятор .Net Core 2 - PullRequest
0 голосов
/ 12 декабря 2018

У меня нет никакой другой идеи.

У меня есть WebAPI (.NetCore 2), запущенный на моем локальном хосте в IIS.Когда я подключаюсь к нему с помощью Postman, все работает нормально.Но когда я пытаюсь подключиться к эмулятору VS Android, я получаю только 503 ошибки.Я думаю, что я попробовал все.

Мои настройки: - WebApi работает на порту 8080

Application settings

Настройки сети моего эмулятора VS: Emulator network settings

Я подключаюсь к WebApi с помощью: http://169.254.80.80:8080/api/

На локальном хосте (например, из Почтальона): http://localhost:8080/api/

Я добавил Incoming Rule в мой защитник Windows, разрешив соединения для TCP-порта 8080.

Это мой раздел SITES от applicationhost.

<sites>
  <site name="WebSite1" id="1" serverAutoStart="true">
    <application path="/">
      <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
    </application>
    <bindings>
      <binding protocol="http" bindingInformation=":8080:localhost" />
    </bindings>
  </site>
  <site name="Nerdolando.Boomerang.WebAPI" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
      <virtualDirectory path="/" physicalPath="D:\projekty\cs\Boomerang\source\webapi\Nerdolando.Boomerang.WebAPI" />
    </application>
    <bindings>
      <binding protocol="http" bindingInformation="*:50628:localhost" />
      <binding protocol="http" bindingInformation="*:50628:169.254.80.80" />
      <binding protocol="http" bindingInformation="169.254.80.80:8080" />
      <binding protocol="http" bindingInformation="*:8080:169.254.80.80" />
    </bindings>
  </site>
  <siteDefaults>
    <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
    <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
  </siteDefaults>
  <applicationDefaults applicationPool="Clr4IntegratedAppPool" />
  <virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>

Как видите, я пробовал разные привязки.И все равно получаю 503 ошибку.Что я могу сделать больше?

1 Ответ

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

Ваша привязка IIS неверна: http:*:8080:localhost

В поле «Имя хоста» есть «localhost».Это означает, что IIS будет отправлять трафик на этот сайт, только если в качестве имени домена используется localhost.Поскольку вы пытаетесь получить доступ по IP, IIS не знает, на какой сайт отправить его, и дает вам 503.

Ваша привязка должна выглядеть следующим образом (оставьте поле «Имя хоста» пустым):

enter image description here

...