Quantcast
Channel: ASP.NET Core
Viewing all articles
Browse latest Browse all 9386

ASP.NET Core app routing over non-default NGINX location proxy

$
0
0

I have an ASP.Net Core web application running on Linux machine via Kestrel, with NGINX serving as proxy from port 80 -> 5000 Unfortunately I´m not allowed to use default route as another application has priority, both have to run over port 80, meaning requests are forwarded like:

127.0.0.1 -> another app

127.0.0.1/conf -> my app

And in NGINX config file it's defined as:

     location /conf {
        proxy_pass              http://127.0.0.1:5000;
        proxy_cache_bypass      $http_upgrade;
        proxy_set_header        Host $host;
        proxy_http_version      1.1;
        proxy_set_header        Upgrade $http_upgrade;
        proxy_set_header        Connection keep-alive;
        client_max_body_size    10m;
        client_body_buffer_size 128k;
        proxy_connect_timeout   90;
        proxy_send_timeout      90;
        proxy_read_timeout      90;
        proxy_buffers           32 4k;
  }


The thing is, if I run application using standard location ( location / ) , routing of MVC app runs fine. But having /conf appended to proxy simply breaks MVC routing, because application continues to return routes that are based on root location, without /conf prefix. So after user gets to default landing page, all routes (links, actions) are still pointing to address like 127.0.0.1/Home/About instead of 127.0.0.1/conf/Home/About - and to make it even worse, these links (/conf/Home/About) are not working either.

Any suggestions on how should I proceed in solving this ? Should some route prefix be specified in MVC app on general level (currently it uses only default route) or there is some NGINX-based solution ? 

Thanks in forward !


Viewing all articles
Browse latest Browse all 9386

Trending Articles