勿忘初心做自己 发表于 2024-7-27 18:15:01

Unity(WebGL)跨域请求处置惩罚(避坑专用)

基于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_headerHost$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~

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Unity(WebGL)跨域请求处置惩罚(避坑专用)