Node.js 谷歌云节点应用程序可以';t连接跨源请求被阻止

Node.js 谷歌云节点应用程序可以';t连接跨源请求被阻止,node.js,google-cloud-platform,vuejs2,cors,Node.js,Google Cloud Platform,Vuejs2,Cors,我刚刚在谷歌云上部署了一个node.js-vue.2.0应用程序 vue.js 2.0应用程序位于公共节点目录中。一切运行正常,只是我对web服务的所有查询都失败了,你知道,在惯用的app.js节点文件中。。没有对任何其他节点服务器的调用,这就是为什么我甚至尝试将localhost:8080作为服务器名的原因 从应用程序执行的所有后端查询均失败: POST http://localhost:8080/getUsers Cross-Origin Request Blocked: The Sam

我刚刚在谷歌云上部署了一个node.js-vue.2.0应用程序

vue.js 2.0应用程序位于公共节点目录中。一切运行正常,只是我对web服务的所有查询都失败了,你知道,在惯用的app.js节点文件中。。没有对任何其他节点服务器的调用,这就是为什么我甚至尝试将localhost:8080作为服务器名的原因

从应用程序执行的所有后端查询均失败:

POST
http://localhost:8080/getUsers

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:8080/getUsers. (Reason: CORS request did not succeed).
我还管理该应用程序调用谷歌云服务器url:相同的错误

POST http://cedar-network-259109.appspot.com:8080/getUsers
它也不起作用

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:8080/getUsers. (Reason: CORS request did not succeed).
  • 部署在openode.io主机上时,此应用程序正常工作:

  • MongoDb Atlas已连接(0.0.0.0通配符)

问题: 我是否必须使用奇怪的命令在我的google cloud应用程序上使用此文档配置cors

非常感谢

编辑:这是我在询问我的cors配置时得到的,看起来我没有任何cors配置?:

C:\UwAmp\www\vue-starter-webpack-cli-4-node-gcloud>gsutil cors get gs://cedar-network-259109.appspot.com
gs://cedar-network-259109.appspot.com/ has no CORS configuration.
编辑2:

我正在向我的谷歌云应用程序发送CORS参数,如下所示:

>gsutil cors set cors-json-file.json gs://cedar-network-259109.appspot.com
这是我的cors-json-file.json文件:

  [
    {
      "origin": ["https://cedar-network-259109.appspot.com"],
      "responseHeader": ["Content-Type"],
      "method": ["GET", "POST","HEAD", "DELETE"],
      "maxAgeSeconds": 3600
    },
    {
      "origin": ["https://cedar-network-259109.appspot.com:8080"],
      "responseHeader": ["Content-Type"],
      "method": ["GET", "POST","HEAD", "DELETE"],
      "maxAgeSeconds": 3600
    }
]
仍然有一个错误:

POST https://cedar-network-259109.appspot.com:8080/getUsers
    Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://cedar-network-259109.appspot.com:8080/getUsers. (Reason: CORS request did not succeed).
以下是我的信息:

和我的请求URL:headers:

Host: cedar-network-259109.appspot.com:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: application/json, text/plain, */*
Accept-Language: fr,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Referer: https://cedar-network-259109.appspot.com/
Origin: https://cedar-network-259109.appspot.com
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Content-Length: 0
My app.yaml文件:

runtime: nodejs
env: flex

manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10
编辑3:使用以下代码修改my node app.js后端:

const cors = require("cors");
app.use(
  require("cors")({
    origin: function(origin, callback) {
      callback(null, origin);
    },
    credentials: true
  })
);
为此:

app.use(
  require("cors")({
    origin: "https://cedar-network-259109.appspot.com",
    credentials: true
  })
);

没有运气请帮帮我

如果您试图访问的资源存储在Google云存储上,则需要启用CORS,如上所述。如果您试图访问由另一个Google App Engine应用程序托管的文件,您需要修改您的App.yaml文件,如上所述。

否,node.js backend App.js位于同一个唯一的Google应用程序上,连接到mongodb atlas。如果有人能帮助我,我将不胜感激。我必须修改app.yaml吗?如果您不尝试从另一个Google app Engine应用程序访问文件,则无需修改app.yaml文件。您需要在应用程序中设置
accesscontrolalloworigin
HTTP头。如果你正在寻找一些代码示例,你可以查看这篇文章或其他文章。非常感谢,让我们试试这个!
app.use(
  require("cors")({
    origin: "https://cedar-network-259109.appspot.com",
    credentials: true
  })
);