我有一个烧瓶套接字.ioHeroku上托管的应用程序(后端)。你知道吗
我有前端与JS代码连接到主机在我的本地机器。 尝试连接到服务器时出现以下错误。你知道吗
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://deploy-appp.herokuapp.com/socket.io/?
EIO=3&transport=polling&t=MH05dP-. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://deploy-appp.herokuapp.com/socket.io/?
EIO=3&transport=polling&t=MH05f5A. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
Link to the backend application
用于套接字连接的JS代码:
<script type="text/javascript">
var socket = io.connect('https://deploy-appp.herokuapp.com/');
socket.on('connect', function() {
console.log('connected');
});
socket.on('message', function(msg) {
document.getElementById('messages').append('<li>'+msg+'</li>');
console.log('Received message');
});
function send() {
console.log(document.getElementById('myMessage').value)
socket.send(document.getElementById('myMessage').value)
};
</script>
查看cors wiki。通常,如果前端应用程序从不同的uri“运行”到后端,就会出现这样的错误。例如,客户端代码的宿主是我的客户.com但是你的套接字.io后端正在运行anotherclient.com. 你知道吗
有很多解决办法,你可以显式设置原点,看看这个答案Socket.io + Node.js Cross-Origin Request Blocked。(如果您在本地运行web应用程序,这是最快的方法,但长期运行不安全)
或者,在客户端web服务器和socketio应用程序前面有一个反向代理,该代理将客户端/socketio调用路由到您的socketio服务器,并将另一个请求路由到承载站点的服务器。你知道吗
相关问题 更多 >
编程相关推荐