【发布时间】:2018-12-14 03:01:13
【问题描述】:
我没有其他想法。
我在 IIS 上的本地主机上运行了 WebAPI (.NetCore 2)。当我使用 Postman 连接到它时,一切正常。但是当我尝试从 VS Android Emulator 连接时,我只收到 503 错误。我想我什么都试过了。
我的设置是: - WebApi 在 8080 端口上运行
我正在使用以下方式连接到 WebApi: http://169.254.80.80:8080/api/
在本地主机上(例如来自 Postman)是: http://localhost:8080/api/
我已将传入规则添加到我的 Windows Defender,允许连接 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 错误。我还能做什么?
【问题讨论】:
-
您是否在自己的托管 Web 服务的计算机上尝试
http://169.254.80.80:8080/api/?您是否使用网络代理来处理正常的互联网流量?如果代理无法完成请求,它会给你一个 503。 -
我在本地机器上做。不要使用任何代理。也许模拟器使用代理?如何查看?
-
那是你的公网IP吗?要使用您自己的公共 IP 连接到您自己的计算机,您的路由器或 ISP 需要设置为环回流量,但可能不会。
-
不,169.* 不是我的公共 IP。我的公共 IP(在路由器上)是 217.*。我家网的公网IP是192.168.*
-
您可以尝试在 Postman 中使用
http://169.254.80.80:8080/api/吗?它也给你503吗?如果是这样,该消息是否有任何正文(带有错误消息)?
标签: c# android iis .net-core-2.0