使用 Asp.Net 核心应用程序反向代理配置 NGINX 作为 IIS 的子文件夹

Configure NGINX with Asp.Net Core Application Reverse Proxy as SubFolder like IIS

我正在尝试将 NGINX 配置为反向代理,就像微软官方教程一样: https://docs.microsoft.com/pt-br/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-5.0

但是在 IIS 中,我可以将我的应用程序配置为这样访问: http:///localhost/name.of.app/

并且 IIS 通过 IP 公开应用程序,如下所示: http://192.168.x.x/name.of.app/

我发现在 NGINX 中工作的唯一方法就像上面那样:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name   appname.*;
    index     index;
    location / {
        proxy_pass         http://127.0.0.1:5000;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection keep-alive;
        proxy_set_header   Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
    }
}

但是这样一来,应用:

  1. 不对外暴露
  2. Url是这样的: http://appname.localhost

在这个地狱里我需要做什么才能像 IIS 一样配置和工作?

提前致谢。

问题已解决。 在 NGINX 中使用: location /appname

并在 asp.net 中添加 app.UsePathBase("/appname");