公司买了一个商城项目,让我先搭个测试环境,然后二开,于是我经过披荆斩棘申请二级域名、配置LNMP后,遇见了诡异的事情:

 


redies未授权 未授权不允许使用_redies未授权

      baidu和google纷纷表示他们也很为难没见过这种提示,我选择了自己思考。。。

 

      页面提示我:该网站未授权,禁止访问。 在network里边,可以看到我们的域名解析正常,状态码200正常,我去log里边查看,log里也是一片和谐。那我们就可以断定和nginx的部分已经没有关系了。

 

      引发思考:1.config配置了,或者规定了,只能是哪个IP或者哪个域名才能用

                        2.前端用的VUE,设置了允许访问的IP

                        3.要么这个系统远程请求第三方服务器了,然后被人家给拦截下来了

 

       逐一测试:

      一  . 找到config发现没有配置; 那就只能从index.php入手了;然后发现了:

redies未授权 未授权不允许使用_全局搜索_02

但是把他们都注释后发现,并不可行。因为他们只是设置了一些头文件,所以不是这的原因。

 

     二  .  VUE设置了dev和prod ?

   

redies未授权 未授权不允许使用_该网站未授权_03

    这里确实是有相关设置,但是!这里规定的是可以提供的相关的API的地址,也就是说我们的get/post请求出错误时候才会与这里挂钩。那页面的那些静态资源呢?比如图片,文字,是相对路径,他们理应加载出来的啊,所以也不是前端的问题。

(如果是因为前端配置的问题应该出现的问题如图:

redies未授权 未授权不允许使用_禁止使用_04

   )

对了,补充一点题外话:如果大家修改了dev和prod这种配置文件,一定要重启vue才可以生效!他和PHP不一样,不是直接生效的!

 

   三  . 那就只剩下最后一种了,在我们跑程序的一开始,请求到了其他的第三方服务器,然后被拦截下来;

          于是,我ctrl+shift+f全局搜索他的提示语“该网站未授权,禁止使用”,发现找不到。可能是人家服务器端return回来的提示语,我在本地搜不出来也正常,那我就搜索www或者curl就好了啊,他如果转到他的服务器,肯定会有这样的痕迹。

          于是,我ctrl+shift+f全局搜索 www和curl,但还是一无所获。 我彻底迷茫了。

          于是我只能从index.php入手(框架是TP),一点一点的往里走。。。     皇天不负有心人!!!

          我终于找到了他,但是打开后:

          

redies未授权 未授权不允许使用_域名未授权_05

                                                              ??? 劳资当时就黑人问号???

     这尼玛是啥,原来我的全局搜索搜不出来的原因是乱码(该文件被转码了)。

     无奈,找大神帮我转码转回来,我才终于见识到了它的庐山真面目:

redies未授权 未授权不允许使用_全局搜索_06

   原来,真的是curl到了人家的服务器,然后人家数据库没有我们的域名,所以被拦截了下来,直接echo了“该网站未授权,禁止使用”。

 

解决:把这个if的判断语句全部删除,不转他那边,就好了。