如何让我的Django RESTapi与Angular前端交互,并托管在nginx服务器上



我正在尝试用Django、Angular和Nginx启动我的web应用程序。在开发阶段,我在Angular中提供服务,向127.0.0.1:8000发送请求。我能够让我的Angular项目显示在我的域名上。然而,当我尝试通过另一个网络登录到我的应用程序时,它不会起作用。这是因为我指的是127.0.0.1:8000吗?我需要为Django配置一个web服务器网关或api网关吗?我需要将Angular中的服务指向其他地址吗?或者我在Nginx中配置了错误的东西?如果有人能帮我,我将不胜感激。

upstream django_server{
server 127.0.0.1:8000;
}


server{

listen 80;
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate C:/Certbot/live/example.com/fullchain.pem;
ssl_certificate_key C:/Certbot/live/example.com/privkey.pem;
root /nginx_test/www1/example.com;
index index.html;
location = /favicon.ico {
return 204;
access_log     off;
log_not_found  off;
}
location /api-token/ {
proxy_pass http://django_server/api-token/;
proxy_http_version 1.1;
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;
}



}

我认为原因在于您的Angular服务配置。尝试将其更改为REST API服务器IP地址,而不是127.0.0.1。

据我所知,在你的情况下,当你在浏览器中打开应用程序时,你会将所有静态文件加载到你的电脑/笔记本电脑浏览器中。正因为如此,每次当你触发前端服务时,你都会试图从你的笔记本电脑/个人电脑而不是备份服务器获得响应。

最新更新