Tag: cors

Socket.io不设置CORS头(s)

我知道这个问题已经被问了几次了。 但是,我无法得到任何这些解决scheme的工作。 我正在运行node.js和socket.io的标准安装。 (来自Amazon EC2上的yum) 问题在于Chrome正在回退到xhr轮询,并且这些请求需要一个可用的CORSconfiguration。 但是,我似乎无法得到它的工作。 我的Web服务器运行在端口80上,而node.js(socket.io)在端口81上运行。我试图让socket.io使用源策略,如你所见。 我也尝试使用“*:*”作为起源,没有运气。 这是我的代码: var http = require('http'); var io = require('socket.io').listen(81, {origins: '*'}); io.configure( function(){ io.set('origin', '*'); }); io.set("origins","*"); var server = http.createServer(function(req, res) { io.sockets.emit("message", "test"); res.writeHead(200); res.end('Hello Http'); console.log("Message recieved!"); }); server.listen(82); io.sockets.on('connection', function(client) { console.log("New Connection"); }); 非常感谢你!

CORS – 与Angular和Express的http选项错误

我正在尝试从Angularjs客户端向我的API进行POST,我在另一个域中运行的服务器上有这个configuration: app.use(function(req, res, next) { res.setHeader('Access-Control-Allow-Origin', '*'); res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, OPTIONS, DETELE'); res.setHeader('Access-Control-Allow-Headers', '*'); next(); }); 发送到服务器的标题是: OPTIONS /api/authenticate HTTP/1.1 Host: xxxx.herokuapp.com Connection: keep-alive Access-Control-Request-Method: POST Origin: http://127.0.0.1:5757 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36 Access-Control-Request-Headers: accept, content-type Accept: */* Referer: http://127.0.0.1:5757/login Accept-Encoding: gzip, deflate, sdch Accept-Language: […]

Access-Control-Allow-Origin不允许来源http:// localhost

我正在尝试从backbone.js执行到我的node.js服务器。 但是,在控制台中出现以下错误: Origin http://localhost is not allowed by Access-Control-Allow-Origin. 我添加了以下内容到我的node.js服务器: var allowCrossDomain = function(req, res, next) { res.header('Access-Control-Allow-Origin', "http://localhost"); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE'); res.header('Access-Control-Allow-Headers', 'Content-Type'); }; app.configure(function() { app.use(allowCrossDomain); }); 但它仍然返回相同的错误。 但是,即使这样做确实有效,但它似乎不是理想的解决scheme,因为我希望来自各地的用户能够发送请求。

hapi.js Cors Pre-flight不返回Access-Control-Allow-Origin标题

我有一个使用(Dropzone js)的ajaxfile upload。 将文件发送到我的hapi服务器。 我意识到浏览器发送了一个PREFLIGHT OPTIONS METHOD。 但我的hapi服务器似乎不发送正确的响应头,所以我得到铬上的错误。 这是我在铬上得到的错误 XMLHttpRequest cannot load http://localhost:3000/uploadbookimg. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200' is therefore not allowed access. 这是hapi js路由处理程序 server.route({ path: '/uploadbookimg', method: 'POST', config: { cors : true, payload: { output: 'stream', parse: […]

HTTP响应头中'Allow'和'Access-Control-Allow-Methods'之间的区别?

我使用ExpressJS for NodeJS编写了一个RESTful API。 我正在使用BackboneJS来调用这个API。 这是我的API通过OPTIONS返回的示例头: Access-Control-Allow-Headers:Content-Type Access-Control-Allow-Origin:http://localhost Allow:GET,PUT,DELETE Connection:keep-alive Content-Length:14 Content-Type:text/html; charset=utf-8 Date:Sun, 19 Aug 2012 13:52:35 GMT X-Powered-By:Express 我已经修改了标题以包含首先出现的两个访问控制允许字段。 其余部分由express自动生成,包括允许字段。 我能够没有问题的GET。 但是,当我尝试使用BackboneJS进行PUT或DELETE时,遇到: Method PUT is not allowed by Access-Control-Allow-Methods. Method DELETE is not allowed by Access-Control-Allow-Methods. 当然,我可以修改我的响应头包括这两个方法来解决这个问题。 但是我希望理解这些与ExpressJS基于绑定到路由的自动添加的基本“允许”之间的区别。 有什么不同?

Node.js CORS会话cookie与Angular.js

我使用CORS和Angular.js使用Node.js进行简单的login。 也就是— client.example.com也发布POST api.example.com/login成功的一个会话cookie也返回client.example.com并且也可以访问GET服务,比如api.example.com/secret由会话cookie保护的api.example.com/secret 。 使不受会话cookie保护的GET请求不成问题。 最终,这里的目标是将一个客户端应用程序authentication为REST api,即使上面的约定不可行,也可以使用CORS与本地策略(即用户名和密码)进行validation。 我无法从任何地方find一种有用的学习方法—指引我走向正确的方向? 奖金:显示一个工作示例。

护照js无法在跨网域中维护会话

我正在使用护照JS,快速和mongoose做一个API。 当我在同一个域中testing它时,它保持会话并正常工作。 但是在跨域,它失败了。 任何线索如何维护会议跨域使用相同的configuration。 以下是代码 allowCrossDomain = function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS"); res.header("Access-Control-Allow-Headers", req.headers["access-control-request-headers"]); // res.header("Access-Control-Allow-Credentials", "true"); if ("OPTIONS" == req.method) { res.send(200); } else { next(); } //allow all crossDomain request app.use(allowCrossDomain); //session handling app.use(express.cookieParser("gallery")); app.use(express.session()); app.use(passport.initialize()); app.use(passport.session()); app.use(function(req, res, next) { // check if client sent […]

Auth0和React的CORS问题

我目前正在尝试在我的NodeJS + React应用程序中实现Auth0。 给出的这个教程真的很好,很有帮助,虽然我有一个大问题。 每次我尝试login/注册通过Auth0我得到 XMLHttpRequest无法加载https://XYZ.eu.auth0.com/usernamepassword/login 。 对预检请求的响应不会通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。 原因' http:// localhost:3000 '因此不被允许访问。 对预检请求的响应不会通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。 原因' http:// localhost:3000 '因此不被允许访问。 所以我有一个粗略的理解是什么意思。 但我只是不知道在哪里设置所需的选项来允许这个请求Auth0。 在服务器端? 在浏览器的代码? 最好的祝福 编辑:正如RodrigoLópezDato指出的,我可以在我的应用程序中编写起源: https : //manage.auth0.com/#/applications 当我在本地开发时,我应该放什么? 我的IP?

POST AJAX请求被拒绝 – CORS?

我在端口5000上的node.js服务器上设置了CORS,如下所示: var app = express(); app.use(cors()); //normal CORS app.options('*', cors()); //preflight app.post('/connect', function(req, res) { console.log("Connection request received !") }); var port = 5000; app.listen(port, function () { console.log('Listening on port '+port); }); 我现在正尝试使用JQuery发送AJAX POST请求,如下所示,在从我的硬盘打开的静态网页中: var xhr = $.post({ url: 'http://localhost:5000/connect', complete: function() { console.log("done !") }, crossDomain: true }); xhr.fail(function(xhr, status, error){ alert(error) }) […]

让快递服务器接受CORS请求

我有我的快递服务器运行在http:// localhost:3000 (我称之为networking服务器)我有另一个应用程序运行在本地主机:8100(我称之为“应用程序”) 当我的应用程序调用Web服务器时,我收到消息: "XMLHTTPReqeust cannot load http://localhost:3000/auth/facebook. Response to preflight request doesn't pass access control check. A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' when the credentials flag is true. Origin 'http://localhost:81000' is therefore not allowed acecss" 此消息显示在浏览器控制台中。 我在我的节点Web服务器的中间件中设置了以下选项 res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'GET,PUT, POST,DELETE'); 在阅读了一些stackoverfow问题之后,我还添加了以下内容: res.header('Access-Control-Allow-Origin', 'http://localhost:8100'); 但是这并不能解决问题。