如何为 Django 应用程序编写 nginx 代理传递

如何为 Django 应用程序编写 nginx 代理传递

我已经在 AWS 服务器中部署了一个简单的 Django 应用程序,并在 Nginx 中创建了一个配置文件,如下所示。

                 server {
                         listen 80;
                         server_name 127.0.0.1;
                         location /portal {
                         include proxy_params;
                         proxy_pass http://localhost:8000;
                           }
                        }

但它不起作用并显示“404 未找到”。

Django 应用程序单独在 URL 中工作http://public_ip/en/但我需要提供这个应用程序http://public_ip/门户

答案1

当这样配置时,nginx 会将字符串附加到位置/portal的末尾proxy_pass,也就是说,http://localhost:8000/portal当您请求时,您的应用程序会收到 URL http://public_ip/portal

为了使/portal请求到达/en,您需要使用:

location /portal {
    include proxy_params;
    proxy_pass http://localhost:8000/en;
}

相关内容