Nginx部署的Anguler前端未连接到DRF后端

时间:2020-09-06 14:22:41

标签: django angular nginx amazon-ec2

我在同一aws实例中部署了drf后端和有角度的前端,我为DRF使用了Nginx和gunicron部署了有角的,并且使用了Nginx。我使用邮递员测试了drf API,它可以正常工作,但有角度的前端无法连接到API,该站点可以运行,但是无法连接到后端API。它显示

从CORP策略阻止从源“ http://3.129.126.13”访问“ http://3.129.126.13:8080/api/products?search=asus&page=1”处的XMLHttpRequest:无“ Access- Control-Allow-Origin'标头出现在请求的资源上。

我已在python应用程序设置中将前端地址列入白名单。

前端托管于80,后端托管于8080。

后端服务器块:

server {
    listen 8080;
    server_name 0.0.0.0;

    location = /favicon.ico { access_log off; log_not_found off; }

    location /static/ {
            root /home/ubuntu/Sheradam_backend;
    }

    location / {
            include proxy_params;
            proxy_pass http://unix:/home/ubuntu/Sheradam_backend/Sheradam_backend.sock;

    }
}

前端服务器块

server {
    listen 80;
    listen [::]:80;
    server_name Sheradambd.com;
    root /home/ubuntu/Sheradam_frontend/dist/SheraDam;
    server_tokens off;
    index index.html index.htm;

    location / {
        # First attempt to server request as file, then         
        # as directory, then fall back to displaying a 404.          
        try_files $uri $uri/ /index.html =404;
    }
}

python应用程序设置:

STATIC_URL = '/static/'

CORS_ORIGIN_ALLOW_ALL = False
CORS_ORIGIN_WHITELIST = (
    'http://3.129.126.13',
)

1 个答案:

答案 0 :(得分:0)

在此处找到解决方案enable-cors.org/server_nginx.html