为 Django-Rest-Framework 后端 + Vuejs 前端设置 nginx conf

为 Django-Rest-Framework 后端 + Vuejs 前端设置 nginx conf

我在 Google Cloud 上运行实例。我有一个应用程序,它使用 DRF 作为 api(使用 gunicorn),并在前端使用 Vuejs。我正在处理ERR_CONNECTION_REFUSED来自浏览器的请求,并试图弄清楚如何正确进行此设置。这是我当前的 nginx conf 文件:

upstream django-api {
    server 127.0.0.1:8000;
}

server {
    listen 80;
    server_name "SERVER_IP";
    location / {
        alias /path/to/website/;
        index index.html;
    }

    location /dist/ {
        alias /path/to/js/files;
    }

    location /api/ {
        proxy_pass http://django-api;
    }

    location /rest-auth/ {
        proxy-pass http://django-api;
    }
}

在 Vue 应用中,我使用 axios 进行 http 调用,并使用 SERVER_IP:8000 作为基本 URL/端口。我在浏览器中再次看到以下错误:

xhr.js:178 GET http://XX.XXX.XXX.xx:8000/api/rest/url/ net::ERR_CONNECTION_REFUSED

答案1

您正在尝试与服务器上的端口 8000 建立 HTTP 连接,但是您的 Web 服务器仅向外界开放端口 80。

您需要在测试中向端口 80 发出请求。

相关内容