으로 설정되어 있습니다. 내가 일하는 회사의 보안 부서가 socket.io 요청에 대해 (올바르게) Access-Control-Allow-Origin: *
을 거부합니다.socket.io CORS 액세스 제어 허용 원점이 *
응용 프로그램이 CORS를 전혀 사용하지 않고 있는데, 이것은 socket.io 요청에만 문제가 있습니다.
이
내가 서버가 준비 후 socket.io 시작하는 데 사용하고있는 기능입니다 :exports.start = (server) => {
io = exports.socketio.socket.listen(server, {
origins: `https://${server.address().address}:*`,
rejectUnauthorized: false,
wsEngine: 'ws',
transports: ['websocket', 'polling']
});
exports.connect();
};
그게 문제는 처음이다 : -이 ::
같은 server.address().address
반환 뭔가 - 내가 필요 다른 주소 여러 서버에 응용 프로그램을 배포 - 이전이 더 origins
속성이 없었고 socket.io가 *
에 origing을 설정했다 - 내 로컬 컴퓨터에서 솔루션을 테스트 할 때 origins to: 'https://localhost:3000'
일부 socket.io 요청에 대해 여전히 Access-Controll-Allow-Origin: *
이 발생합니다.
누군가는 이미이 문제가 발생 했습니까?
많은 자동화 server.address().address
와
답변 해 주셔서 감사합니다. 답변에 언급 된 해결책을 시도했지만 작동하지 못했습니다. socket.io 버전 2.0.4를 사용하고 있습니다. 'websocket'을 전송 수단으로 사용하도록 설정해도 시작시 '폴링'요청을 보내지 못하게하지 않았습니다. (아마 내가 아직 가지 않았던 일부 설정 옵션). 'origins' 옵션에 대해서도 소켓 서버와 소켓 서버에 IP 주소를 하드 코드했는데 여전히 Access-Control-Allow-Origin을 설정했습니다. 로드 밸런서 또는 프록시 때문에 AWS에서 호스팅합니다. – matewilk