如何解决localtunnel 和 CORS 无法正常工作
我正在使用 localtunnel 来公开我的后端和前端。现在,我有一个非常简单的设置:
const httpServer = require('http').createServer();
const socketIO = require('socket.io');
const io = socketIO(httpServer,{ cors: { origin: '*' } });
io.on('connection',(socket) => {
...
});
httpServer.listen(5000,() => {
console.log(`Listening on the port 5000`);
});
然后我使用带有 lt --port 5000
的 localtunnel 公开此后端。然后我获取 URL,在我的 React 前端中设置它,启动在端口 3000 上运行的前端应用程序,然后 lt --port 3000
。然后,当我尝试连接到后端时,我不断收到此错误。
Access to XMLHttpRequest at 'https://tame-mayfly-63.loca.lt/socket.io/?EIO=4&transport=polling&t=NbU6WbU' from origin 'https://spotty-robin-42.loca.lt' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
起初我认为这是 localtunnel 的一些错误,但后来尝试使用 ngrok
并且错误是相同的。我启用了 CORS 的所有来源,所以我不知道会发生什么。
执行 curl "https://tame-mayfly-63.loca.lt/socket.io/?EIO=4&transport=polling"
有效,但我想这是因为在使用 cURL 发出请求时忽略了 CORS。
解决方法
我找到了解决问题的方法。看起来您首先需要访问为您的后端提供服务的动态 url,然后单击“继续”。这样做之后,CORS 将不再是问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。