Node.js服务器应用程序使用cors,express和google api在azure部署后不工作

我有一个node.js服务器api应用程序,部署到azure色后不工作。

它最初依靠google.api获取数据,之后将数据存储在数组中,并通过响应快速获取调用将其发送到客户端。

最初我用:

const express = require('express'); const app = express(); const cors = require("cors"); const _ = require("lodash"); const port = 30000; app.use(cors()); 

在localhost上运行得很好。

对于部署,遵循教程后,我将其更改为:

 const express = require('express'); const app = express(); const cors = require("cors"); const _ = require("lodash"); const port = process.env.PORT || 80; var http = require('http'); app.use(cors()); var server = http.createServer(app); server.listen(port, function () { }); 

哪些不起作用,最后:

 const express = require('express'); const app = express(); const _ = require("lodash"); const port = process.env.PORT || 80; var login = require('./routes/login'); ... app.use('/login', login); ... module.exports = app; 

并为get命令创build了一个新的文件夹,如https://github.com/Azure-Samples/app-service-web-nodejs-get-started/blob/master/app.js所做的那样。

似乎没有任何工作,我仍然得到错误:

GET http:// nameofsite / login 404(Not Found)

XMLHttpRequest无法加载nameofsite / login。 请求的资源上没有“Access-Control-Allow-Origin”标题。 原因'nameofclient'因此不被允许访问。 该响应具有HTTP状态码404。

我曾尝试过包括Cors头文件以及将客户端网站添加到Azure门户允许的来源,但没有任何区别。 任何人都可以帮助解决这个问题,或提供有关如何正确格式化一个node.js服务器使用谷歌图表文件的信息?

这可能是一个愚蠢的问题,但是当您将虚拟机移动到Azure时,是否设置了您的IP地址,更新您的外部DNS并configuration虚拟networking以允许Node和您的代码需要正确的stream量?