Tengo una API de Python/Django con un punto final único /videos
ejecutándose en mi servidor Debian.
El vhost de Nginx se ve así:
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;
}
Por lo tanto, sirve con éxito la aplicación y su punto final único en https://example.com/videos
.
Ahora, me gustaría servir la aplicación en https://example.com/my_app/videos
, para poder tener en el futuro otras aplicaciones en el mismo dominio/vhost (con diferentes puertos internos, diferentes upstreams en el vhost, por supuesto).
He estado leyendo varias preguntas y respuestas similares en ServerFault y he intentado cambiar location /
a location /my_app
, mientras probaba diferentes configuraciones de barras diagonales en location
y proxy_pass
, sin éxito. ¿Que me estoy perdiendo aqui?
EDITAR: Más precisamente:
Con el vhost cambiado a
location /myapp
->https://example.com/my_app/videos
muestra un error No encontrado (no de Nginx)Con el vhost cambiado a
location /my_app/
->https://example.com/my_app/videos
ser redirigidohttps://example.com/videos/
y muestra un error 404 No encontrado (de Nginx)