Cors 阻止 WebGL 构建 Unity 上的请求

问题描述 投票:0回答:1

我使用 Unity 制作了一款多人游戏,并使用 WebGL 导出它,但我遇到了一个问题。对我的远程服务器的请求被浏览器中的 Cors 阻止。

从源“http://localhost:63159”获取“https://myhost/launch”的访问已被 CORS 策略阻止:请求中不存在“Access-Control-Allow-Origin”标头资源。如果不透明响应满足您的需求,请将请求模式设置为“no-cors”以在禁用 CORS 的情况下获取资源。

当游戏使用桌面配置文件导出时,它会按预期运行。 我还启动了没有cors的chrome,它工作正常,所以问题不在服务器上。 我在互联网上找到的解决方案是服务器端的。我可以访问服务器,但这个问题似乎来自浏览器端而不是服务器端。

c# unity-game-engine https cors webgl
1个回答
0
投票

我解决此问题的方法是多次手动重新运行应用程序并执行错误消息所述的操作。我的错误是使用 Asp.net core 过滤器应用响应标头。客户端首先使用 OPTIONS 方法发出预检请求。您需要将客户端需要的“access-control-allow”组标头放入“OPTIONS”响应和主响应(在我的例子中为“GET”)。所以我制作了一个中间件,将标头应用于所有请求。只有这样它才开始正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.