angular 和 nodejs 的 cors 问题

cors issue with angular & nodejs

我正在使用 angular & node.js & cors

在我的本地设备中,一切都很好并且可以工作

现在是部署到云服务器的时候了

前后端路径

root/backend 在端口 :5000

上工作

root/frontend 在端口 :5002

上工作

(digitalocean)

我设置了 apache2 和 phpmyadmin

在后端

 var corsOptions = { origin: "http://localhost:5002" };

应该是上班时间

但它给了我 status:0

并且我为 运行 项目前端和项目后端打开了 2 个终端

ng 服务 --host 0.0.0.0 --port 5002

当我 运行 它工作 https//ip:5002 但没有数据

编辑:

我也遇到这样的错误

Access to XMLHttpRequest at 'http://localhost:5000/api/auth/signup' from origin 'http://ip:5002' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header has a value 'http://localhost:5002' that is not equal to the supplied origin.

如果您已经在服务器上部署了项目:

尝试在您的后端进行更改:
var corsOptions = { origin: "http://localhost:5002" };

为此:

cors({
     origin: "*",
        })

注意:“*”表示任何人都可以连接到您的 API 或者您可以将您的服务器 IP 用于为您的 Forntend 项目提供服务。

并且在 Forntend 端确保您从后端服务器调用您的请求,例如:

在您的本地计算机上,您可以从以下位置调用它: http://localhost:5000/api/auth/signup

但是当你的后端在服务器上时,你需要将其更改为:
http://<your-backend-server-IP or DNS>/api/auth/signup