我对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
}
这是因为您要在代理传递的末尾指定一个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。