채팅 응용 프로그램을 작성하기 위해 node와 socket.io를 사용하고 있습니다. Chrome에서 제대로 작동하지만 mozilla는 Cross-Origin Requests를 사용하도록 오류를 발생시킵니다.Socket.io + Node.js Cross-Origin Request Blocked
크로스 원본 요청이 차단됨 : 동일한 원본 정책이 원격 리소스를 읽는 것을 허용하지 않습니다 (http://waleedahmad.kd.io:3000/socket.io/?EIO=2&transport=polling&t=1401964309289-2&sid=1OyDavRDf4WErI-VAAAI). 자원을 동일한 도메인으로 이동 시키거나 CORS를 사용 가능하게하면이 문제를 해결할 수 있습니다.
다음은 노드 서버를 시작하는 코드입니다.
var express = require('express'),
app = express(),
server = require('http').createServer(app),
io = require('socket.io').listen(server),
path = require('path');
server.listen(3000);
app.get('/', function(req, res) {
res.sendfile(__dirname + '/public/index.html');
});
클라이언트 측.
var socket = io.connect('//waleedahmad.kd.io:3000/');
HTML 페이지의 스크립트 태그.
<script type="text/javascript" src="//waleedahmad.kd.io:3000/socket.io/socket.io.js"></script>
또한 앱 루트 디렉토리에서 .htaccess 파일을 사용하고 있습니다. (waleedahmad.kd.io/node).
Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
혹시이 작업을 수행 했습니까? 그렇다면 솔루션은 무엇입니까? – denaje