【发布时间】:2020-06-08 19:54:47
【问题描述】:
我有一个用 asp.net 构建的 API,它使用 OWIN.hosting.WebApp 作为 Windows 服务在https://example.com/api/v1/myEndpoint 托管。它通过netsh绑定到端口443。当我启动 OWIN 应用程序时,它的完成如下:
Dim Address As String = "https://*:443/
WebApp.Start(Of Application)(Address)
我的网站也使用 SSL 托管在 IIS 中并绑定到端口 443 - https://example.com/web
它们都可以正常启动和运行。但似乎 IIS 正在阻止对https://example.com/api/v1/myEndpoint 的请求。 IIS 运行时 Postman 无法访问 API。如果我停止 IIS 并尝试完全相同的邮递员请求,则 API 会返回应有的数据。一旦我启动 IIS 备份,API 将不再响应。
是否可以添加重写规则以将 API 请求转发到 API 服务?
【问题讨论】:
-
在 IIS 中托管两者,至少将其中一个托管为具有该绑定的站点上的虚拟应用程序。
-
@mason 如何在 IIS 下运行 api(windows 服务)?
-
有一些教程描述了 Web API 的各种托管模型,IIS 就是其中之一。