我们在Docker上部署Asp.Net Core应用时,往往需要使用Nginx等反向代理服务器将应用重定向到需要的Url,比如本地的localhost:5123需要重定向为http://localhost/MyTest。这时,对应Asp.Net Core来说,根路径发生了变化,这样定位后会页面路径不能正常解析。这时,可以使用UsePathBase中间件。代码如下:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
var pathbase = Configuration["PathBase"];
if (!string.IsNullOrEmpty(pathbase))
{
app.UsePathBase(pathbase);
}
我们将需要重定向的的路径写入配置文件,这样,通过修改配置,可以修改路径。在Nginx中增加location:
location /MyTest{
proxy_pass https://localhost:49156/MyTest;
}
需要注意,这里路径后应加上MyTest。
这样,就可以正确定位到相关的路径了。
网友评论