【发布时间】:2017-12-31 20:35:12
【问题描述】:
我在代理 ASP.NET Core MVC 应用程序时遇到问题。
我的应用程序在 localhost:5000 上的 Kestrel 上运行,而我的 Apache 2.4 反向代理在 localhost:80 上运行。我想代理从localhost:80/test到localhost:5000的所有请求
这是代理的httpd.conf 部分:
...
<Location "/test">
ProxyPass "http://localhost:5000"
ProxyPassReverse "http://localhost:5000"
</Location>
...
代理可以工作,但是所有链接都已损坏。就像我有一个锚链接到一个名为HomeController 的控制器,操作为About,从代理返回的链接是localhost/Home/About,而不是localhost/test/Home/About。主机是正确的,缺少的是上下文根test。
处理此问题的最佳做法是什么?是否是 ASP.NET Core 中的配置来指定上下文根以便 TagHelpers 将其考虑在内?或者是 Apache ProxyPass 中的配置来重写链接(真的不喜欢这个)?
【问题讨论】:
-
你好@Curlyfire 我正在努力在 Windows 平台上的 Apache 上托管 MVC 核心。您对非 Windows 进行的上述测试。
标签: asp.net-core reverse-proxy