gpt4 book ai didi

django - 为 DRF、Django 和 React 前端配置 Nginx 和 Gunicorn

转载 作者:行者123 更新时间:2023-12-04 13:01:52 25 4
gpt4 key购买 nike

我有一个应用程序,其前端在 React 中,后端在 Django 中,前端使用 DRF 开发 API。现在我使用 Nginx 作为 Web 服务器以及 Gunicorn。以下是我在站点可用的 Nginx conf 文件:

server {
listen 8000;
server_name localhost;


location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/nokia-ui/build/;
}

location /nokia-sdn/api/v1/ {
proxy_pass http://127.0.0.1:8000/nokia-sdn/api/v1/;

}

location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://unix:/home/nokia-sdn/nokia.sock;
}

}

现在当我访问 http://localhost:8000/得到了登录页面,但是无法向后端发出任何api请求。是否需要在nginx文件中定义API的路径,如果是,格式是什么?

最佳答案

我怀疑问题在于 Django 由于不匹配 Host 拒绝了带有 400 响应的 API 请求。标题。那些 ajax 请求可能正在使用 127.0.0.1为他们的 Host标题,而您正在使用 localhost 启动主页.

您应该告诉 Nginx 在位置配置中为 /nokia-sdn/api/v1/ 设置 header - 例如:

location /nokia-sdn/api/v1/ {
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:8000/nokia-sdn/api/v1/;
}

关于django - 为 DRF、Django 和 React 前端配置 Nginx 和 Gunicorn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54980595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com