【发布时间】:2021-08-04 18:24:51
【问题描述】:
我在同一台服务器上托管 vue.js 和 asp.net 核心。 我的管理员只允许通过端口 443/https 获取流量。 因此,我试图让 ReverseProxy(?) 运行。
到https://pim.test.de 的所有流量都应该转到此 web.config 的站点。但是访问包含/api/ 的链接的流量,例如https://pim.test.de/api/service/getinfoall
应该转发到端口 44310 上的站点,在那里可以访问 ASP.net 核心应用程序。所以在内部它应该将请求重新路由到https://pim.test.de:44310/api/service/getinfoall
我做错了什么?
<system.webServer>
<rewrite>
<rules>
<rule name="redirecting to port 44310">
<match url="/api/(.*)" />
<action type="Rewrite" url="https://pim.test.de:44310/api/{R:1}" logRewrittenUrl="true" />
</rule>
</rules>
</rewrite>
【问题讨论】:
-
您可以将两者放在一个项目中并进行部署。先试用模板medium.com/@alexandre.malavasi/…,然后复制/粘贴您的代码。
-
@LexLi 感谢您的回复,但在这种情况下,这不是一个选项。主要原因之一是我们将庞大的后端拆分为多个使用网关的微服务,以减少停机时间、更好的独立开发、更小的可组织代码库等。对于前端,我们使用来自 quasar.dev 框架的特殊 CLI,它也与 asp.net 项目不兼容。
-
那么请使用FRT来了解你的规则有什么问题,docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/… 一眼看去,你在
match标签中设置了错误的值,因为请求URL不是以/开头的。 -
谢谢你,这实际上有助于让它工作:)
-
如果你已经得到它的工作,然后发布你自己的答案并接受它。
标签: asp.net asp.net-core web iis