Alterar o caminho público da passagem do proxy Nginx

Alterar o caminho público da passagem do proxy Nginx

Eu tenho uma API Python/Django com um endpoint exclusivo /videosem execução no meu servidor Debian.

O vhost Nginx se parece com isto:

server {

    server_name example.com;

    location / {
        # Pass to Uvicorn/Gunicorn web server service
        proxy_pass http://upstream_name/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /path_to/fullchain.pem; # managed by Certbot
    ssl_certificate_key /path_to/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

upstream upstream_name {
    server 127.0.0.1:8002;
}

Assim, ele atende com êxito o aplicativo e seu endpoint exclusivo no https://example.com/videos.

Agora, eu gostaria de servir o aplicativo https://example.com/my_app/videos, para que no futuro outros aplicativos sejam servidos no mesmo domínio/vhost (com portas internas diferentes, upstreams diferentes no vhost, é claro).

Tenho lido várias perguntas e respostas semelhantes sobre ServerFault e tenho tentado mudar location /para location /my_app, enquanto tento diferentes configurações de barras finais em locatione proxy_pass, sem sucesso. O que estou perdendo aqui?

EDITAR: Mais precisamente:

  • Com o vhost alterado para location /myapp-> https://example.com/my_app/videosexibe um erro Not Found (não do Nginx)

  • Com o vhost alterado para location /my_app/-> https://example.com/my_app/videosser redirecionado para https://example.com/videos/e exibir um erro 404 Not Found (do Nginx)

informação relacionada