Nginx 如何在子路径上定位Asp.net核心站点

Nginx 如何在子路径上定位Asp.net核心站点,nginx,docker,asp.net-core,Nginx,Docker,Asp.net Core,这是我在Nginx中的第一个小步骤,所以任何帮助都将是巨大的 我有一个由两个容器组成的小docker compose应用程序: nginx 上传 Nginx端口80在主机上公开,因此可以从我们的内部网访问Nginx,如:www.mytest.net 现在,我将在该地址的子路径上公开asp.net核心站点“上载”,如: www.mytest.net/upload/ 目前,我无法实现这一点,如果我尝试将上传的每个URL等移动到上传路径,则无法工作,并且我不确定是否必须以不同方式配置NGINX、asp

这是我在Nginx中的第一个小步骤,所以任何帮助都将是巨大的

我有一个由两个容器组成的小docker compose应用程序: nginx 上传

Nginx端口80在主机上公开,因此可以从我们的内部网访问Nginx,如:www.mytest.net 现在,我将在该地址的子路径上公开asp.net核心站点“上载”,如: www.mytest.net/upload/

目前,我无法实现这一点,如果我尝试将上传的每个URL等移动到上传路径,则无法工作,并且我不确定是否必须以不同方式配置NGINX、asp.net核心或两者

Nginx.conf中的当前配置:

 location / {

            proxy_pass              http://upload:80;

            # The default minimum configuration required for ASP.NET Core
            # See https://docs.asp.net/en/latest/publishing/linuxproduction.html?highlight=nginx#configure-a-reverse-proxy-server
            proxy_cache_bypass      $http_upgrade;
            # Turn off changing the URL's in headers like the 'Location' HTTP header.
            proxy_redirect          off;
            # Forwards the Host HTTP header.
            proxy_set_header        Host $host;
            # The Kestrel web server we are forwarding requests to only speaks HTTP 1.1.
            proxy_http_version      1.1;
            proxy_set_header        Upgrade $http_upgrade;
            # Adds the 'Connection: keep-alive' HTTP header.
            proxy_set_header        Connection keep-alive;
        }
}

正如我所说,它在“/”上工作,但如果我使用“上传”,上传站点上的一个简单表单将不再工作,因为URL不匹配。

请阅读HttpContext.Request.PathBase和一个名为UsePathBase的新扩展名。这些有助于隔离应用程序根URL,这样它就不会扰乱您的路由。

请阅读HttpContext.Request.PathBase和一个名为UsePathBase的新扩展。这些有助于隔离应用程序根URL,这样就不会打乱您的路由。@非常感谢!我会的。请你回答一下好吗?这样我就可以投票了?