Nginx 프록시 패스 공개 경로 변경

Nginx 프록시 패스 공개 경로 변경

/videos내 Debian 서버에서 실행되는 고유한 끝점이 있는 Python/Django API가 있습니다 .

Nginx 가상 호스트는 다음과 같습니다:

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이제 미래에 다른 앱이 동일한 도메인/가상 호스트(다른 내부 포트, 가상 호스트의 다른 업스트림)에서 제공되도록 하기 위해 에서 앱을 제공하고 싶습니다 .

나는 ServerFault에서 몇 가지 유사한 Q/A를 읽었으며 location /로 변경하려고 시도했지만 및 location /my_app에서 다른 후행 슬래시 구성을 시도했지만 성공하지 못했습니다. 내가 여기서 무엇을 놓치고 있는 걸까요?locationproxy_pass

편집: 더 정확하게는:

  • 가상 호스트가 location /myapp-> 로 변경되면 https://example.com/my_app/videos찾을 수 없음 오류가 표시됩니다(Nginx가 아님).

  • 가상 호스트가 location /my_app/-> 로 변경되면 https://example.com/my_app/videos리디렉션되어 https://example.com/videos/404 찾을 수 없음 오류가 표시됩니다(Nginx에서).

관련 정보