Ngnix与地址不匹配

问题描述 投票:0回答:1

我对Nginx + .Net核心有疑问。我仅在带有“ /”的其他位置块上使用默认的nginx配置,而其他任何类似“ / api”的位置块均不起作用。这是我的配置文件

location  /api{ 
        proxy_pass https://localhost:5002/api/;
}

location  /auth
{  
        proxy_pass https://localhost:5002/auth/; 
}

location  /
 {
         proxy_pass https://localhost:5002/;   #home adress of spa app
 }
c# nginx asp.net-core hosting single-page-application
1个回答
0
投票

这是因为您要在代理传递的末尾指定一个URI,这意味着该位置也将附加到URI上。检查以下示例:

www.site.com/api -> http://localhost:5002/api/api

www.site.com/auth -> http://localhost:5002/auth/auth

相反,请不要在位置中提供URI,以便路径匹配。像这样:

location  /api { 
        proxy_pass http://localhost:5002;
}

location  /auth {  
        proxy_pass http://localhost:5002; 
}

location  / {
         proxy_pass https://localhost:5002/;   #home adress of spa app
}

所以现在URI像这样结束。

www.site.com/api -> http://localhost:5002/api/

www.site.com/auth -> http://localhost:5002/auth

PD.-检查您所在位置的https://模式,您真的需要吗?使用http,我认为您没有为该端口启用SSL。

© www.soinside.com 2019 - 2024. All rights reserved.