.NET Core RedirectToAction 在 Nginx 后面无法正常工作
Posted
技术标签:
【中文标题】.NET Core RedirectToAction 在 Nginx 后面无法正常工作【英文标题】:.NET Core RedirectToAction not working correctly behind Nginx 【发布时间】:2021-12-16 09:28:12 【问题描述】:我正在尝试在 nginx 后面部署我的 web api。
我的 Web API 总是以 http://<host>/api/<controllerName>
开头
但我使用 Nginx 反向代理来处理测试和生产服务器请求
测试服务器http://<host>/api/<controllerName>/<action>
的请求转到http://<host>/test/api/<controllerName>/<action>
到目前为止一切正常,除了我在某些操作中使用RedirectToActionResult
。它仍然重定向到 url 到 http://<host>/api/<controllerName>/<action>
格式。有什么办法可以调整RedirectToActionResult
以使用http://<host>/test/api/<controllerName>/<action>
之类的前缀重定向?
或者我必须用前缀路径修改整个 API 服务器 url。
【问题讨论】:
【参考方案1】:您可以在您的环境中设置ASPNETCORE_PATHBASE=/test
。
在您的Startup.cs
中,您可以添加以下代码。
var pathBase = Environment.GetEnvironmentVariable("ASPNETCORE_PATHBASE");
app.UsePathBase(new PathString(pathBase))
相关文章:
ASP.Net Core Reverse Proxy with different root
【讨论】:
以上是关于.NET Core RedirectToAction 在 Nginx 后面无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET Core (.NET Core) and ASP.NET Core (.NET Framework)区别
Asp.Net core (Full .Net framework) vs Asp.Net core (.Net Core) 性能