unity .unityweb获取不到使用权限404报错复盘

这两天在使用加载unity3d 编译包的过程中报错,文件始终加载不进去,而在前端加载项目的过程中,整个项目都能正常的执行,直觉感觉我,这个问题和.net项目的开发环境相关?但自己不熟悉.net环境,毕竟自己只是一枚前端,那如何来处理这个问题呢?

一开始,直接和后端沟通,说这个问题可能和.net环境有关,但是因为服务端和.net都熟悉,也无法说出个所以然,所以只能先自己找办法处理,运用一些基础的服务端经验去处理这个问题。现在回顾下自己整个体的处理过程。

回顾目标

        在.net环境下加载unity 3d编译文件,保证.unityweb文件能正常访问。

对比结果

        基于先前做了一个加载unity 3d模型的项目的经验,将两个项目从项目环境、服务器、前端、后端四个角度进行对比。根据对比的结果,发现主要的问题就是前端所处的环境有差异,前端是处在后端的.net项目环境的根目录里面的,那么主要的问题就是项目环境的文件。具体的问题就需要一步步排查。

        

叙述过程

        在检查环境的过程中,只能一步步排查。

        首先是确认unity 3d变异的文件是正常的,自己直接将先前项目的编译包下载下来,放到当前的项目中,程序还是跑不起来,说明不是这个问题。

        根据文件读取404报错,发现问题的原因在于文件读取不到,那么可能有三个原因:一、文件权限没给到;二、项目文件禁止读取.unityweb格式文件;三、ningx禁止了.unityweb格式文件的读取。

        经过一一调试,最终发现是二项目镜子读取.unityweb格式文件;那为啥读取不了.unityweb文件,但是可以读取其中的js文件了。梳理.net项目环境的搭建配置,发现其中使用的反向代理,反向代理中有限制部分文件的读取;但是在宝塔的配置中,修改不了配置,已修改,再重新启动,整个配置就还原了,除非关掉整个反向代理。

        现在问题已经很明显了,需要绕过反向代理,一个是直接修改反向代理的配置,但感觉这可能还不是最根本的原因,另一个就是绕过它。直接将前后端分离,分两个域名,然后unity 3d保持配置和先前的项目配置一直就可以了;唯一麻烦的工作量比较多。

        在处理过程中,一开始的情绪是比较平稳的,但是在长时间没解决问题,情绪开始有了浮动,烦躁;最后幸好寻找运维处理这个问题,寻求专业人员的帮助,最后终于寻找到最后的解决方案。

自我剖析

        在这个项目中,哪些是可控的,哪些是不可控的,哪些是半可控的?

        前端开发环境、后端开发环境都是半可控,因为环境基于nginx,后端基于.net这个差别不大,无非就是当前的前端环境也放入了.net根目录,要遵守.net的协议。

        前端代码逻辑都是可控的。和先前的项目代码基本一致。

        .net的开发协议是不可控的。最后的原因也就是在这里。

        

自我设问

        在处理问题的过程中,自己做到了什么程度?

        首先自己已经从前端的角度去分析问题,基本上找到了问题的所在,并且在后面寻求专业运维人员的帮助,将问题的关键核心梳理出来了。从前端角度,已经排查了前端所有负责的问题的根本原因,已经尽力了。

        在处理过程中,有哪些没有预计到的情况出现?

        .net环境运用了反向代理,并且配置过程中,配置文件不停的还原。

        成功处理问题的关键是什么?

        当涉及到自身的视野盲区的时候,寻找专业人员解答相关的问题。

优化调整

        程序员运动问题,这是一种常态。而我们要做的是,保持平稳的心态,积极进取的心态,从多个维度去梳理问题的所在,不断尝试,一个个排查问题,相信答案就会浮现出来。

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值