/videos
私の Debian サーバー上で、固有のエンドポイントを持つ Python/Django API が実行されています。
Nginx vhost は次のようになります。
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;
}
したがって、アプリとその固有のエンドポイントは で正常に提供されますhttps://example.com/videos
。
今、私は でアプリを提供してhttps://example.com/my_app/videos
、将来的に同じドメイン/vhost で他のアプリ (もちろん、vhost 内の異なる内部ポート、異なるアップストリームを使用) を提供したいと考えています。
ServerFault で同様の Q/A をいくつか読んでいて、location /
に変更しようとしたりlocation /my_app
、 と で異なる末尾のスラッシュ構成を試したりしていますlocation
がproxy_pass
、成功していません。何が足りないのでしょうか?
編集: より正確には:
vhost を
location /myapp
->に変更するとhttps://example.com/my_app/videos
、「Not Found」エラーが表示されます (Nginx からのエラーではありません)vhost を
location /my_app/
次のように変更すると、https://example.com/my_app/videos
リダイレクトされhttps://example.com/videos/
、404 Not Found エラーが表示されます (Nginx から)