503 服务不可用 IIS + localhost + WebAPI + VS Android Emulator .Net Core 2
503 service unavailable IIS + localhost + WebAPI + VS Android Emulator .Net Core 2
我没有别的想法。
我在 IIS 上的本地主机上有 WebAPI (.NetCore 2) 运行。当我使用 Postman 连接到它时,一切正常。但是当我尝试从 VS Android 模拟器连接时,我只收到 503 错误。我想我什么都试过了。
我的设置是:
- WebApi 在端口 8080
上 运行
我的 VS 模拟器网络设置是:
我正在使用以下方式连接到 WebApi:
http://169.254.80.80:8080/api/
在本地主机上(例如来自 Postman)是:
http://localhost:8080/api/
我已将传入规则添加到我的 windows 防御者中,允许连接 TCP 端口 8080。
这是来自 applicationhost 的我的 SITES 部分。
<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 错误。我还能做些什么?
您的 IIS 绑定错误:http:*:8080:localhost
您在 'Host name' 字段中有 "localhost"。这意味着如果 "localhost" 用作域名,IIS 将仅向该站点发送流量。由于您尝试通过 IP 访问,IIS 不知道将其发送到哪个站点并给您一个 503。
您的绑定应如下所示(将 'Host name' 留空):
我没有别的想法。
我在 IIS 上的本地主机上有 WebAPI (.NetCore 2) 运行。当我使用 Postman 连接到它时,一切正常。但是当我尝试从 VS Android 模拟器连接时,我只收到 503 错误。我想我什么都试过了。
我的设置是: - WebApi 在端口 8080
上 运行我的 VS 模拟器网络设置是:
我正在使用以下方式连接到 WebApi: http://169.254.80.80:8080/api/
在本地主机上(例如来自 Postman)是: http://localhost:8080/api/
我已将传入规则添加到我的 windows 防御者中,允许连接 TCP 端口 8080。
这是来自 applicationhost 的我的 SITES 部分。
<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 错误。我还能做些什么?
您的 IIS 绑定错误:http:*:8080:localhost
您在 'Host name' 字段中有 "localhost"。这意味着如果 "localhost" 用作域名,IIS 将仅向该站点发送流量。由于您尝试通过 IP 访问,IIS 不知道将其发送到哪个站点并给您一个 503。
您的绑定应如下所示(将 'Host name' 留空):