Unity(WebGL)跨域请求处理(避坑专用)

1 篇文章 0 订阅
1 篇文章 0 订阅

基于nginx解决Unity发布WebGL跨域请求问题

跨域说明
项目需要在WebGL平台做资源热更。已在Unity编辑器下验证所有功能正常,发布WebGL后下载资源提示跨域问题。由于webgl包是部署在本地nginx上,热更资源部署本地HFS中,两者端口不一样,所以发布后测试下载资源出现这个问题。
跨域原因
1).域名不同
2).端口不同
3).子域名不同
跨域环境
unity开发过程中,请求后台接口或者下载服务器资源我们在编辑器下一切接口都请求正常,但是发布到WebGL部署后测试会经常发现有跨域的问题。跨域解决办法很多,这里主要将基于nginx部署完修改配置解决跨域问题。
跨域解决
1.Unity修改请求地址IP,设值为虚拟字段,可随便定义;
这里我定义值:api;如下:

#if UNITY_EDITOR
        hostServerIP = "http://127.0.0.1/";
#else
        hostServerIP = "api";
#endif

2.修改nginx.conf配置,该文件在nginx安装包目录下;
解决原理:重写请求IP地址,可在nginx.conf内直接添加如下代码块:

location /yooasset_web_test/api {
			proxy_set_header  Host  $host;
			proxy_pass http://127.0.0.1/;	
			rewrite ^/yooasset_web_test/api/(.*)$ /$1 break;			
        }

代码说明:
yooasset_web_test:unity发布webgl包时新建文件夹名称
api:自定义的虚拟代码块
http://127.0.0.1/:跨域请求地址,可根据需要在后面追加端口
将以上内容按需要修改设置即可

亲测有效!!!网上找的很多文章都没有解决的问题就这样轻松解决了,nice~

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity WebGL项目中进行跨域请求时,可以通过以下几种方法解决跨域问题。第一种方法是在服务器端开启CORS(跨域资源共享)。通过在服务器端设置Access-Control-Allow-Origin头信息为"*",可以允许所有来源的请求。这样的设置可以在Web端进行http请求。 第二种方法是使用代理服务器。在开发WebGL项目时,如果在编辑器状态下访问正常,但是在打包并部署在服务器上时出现跨域问题,可以使用代理服务器来解决。具体的解决方案会根据项目署在本地或公网服务器上而有所不同。如果是在公网服务器上,可以根据操作系统的不同选择不同的解决方案,比如在Windows系统上使用头文件映射的方式来解决跨域问题。 第三种方法是通过浏览器安装插件来解决跨域问题。这种方法主要适用于临时测试的情况。对于Edge浏览器,可以安装Allow CORS插件来允许跨域请求。这样就可以在浏览器中正常进行跨域请求了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Unity-WebGL进行http请求的跨域问题](https://blog.csdn.net/weixin_38484443/article/details/116043684)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Unity WebGL 跨域解决几种方法](https://blog.csdn.net/l100142548/article/details/131222737)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值