Eu tenho uma API Python/Django com um endpoint exclusivo /videos
em 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 location
e proxy_pass
, sem sucesso. O que estou perdendo aqui?
EDITAR: Mais precisamente:
Com o vhost alterado para
location /myapp
->https://example.com/my_app/videos
exibe um erro Not Found (não do Nginx)Com o vhost alterado para
location /my_app/
->https://example.com/my_app/videos
ser redirecionado parahttps://example.com/videos/
e exibir um erro 404 Not Found (do Nginx)