公司买了一个商城项目,让我先搭个测试环境,然后二开,于是我经过披荆斩棘申请二级域名、配置LNMP后,遇见了诡异的事情:
baidu和google纷纷表示他们也很为难没见过这种提示,我选择了自己思考。。。
页面提示我:该网站未授权,禁止访问。 在network里边,可以看到我们的域名解析正常,状态码200正常,我去log里边查看,log里也是一片和谐。那我们就可以断定和nginx的部分已经没有关系了。
引发思考:1.config配置了,或者规定了,只能是哪个IP或者哪个域名才能用
2.前端用的VUE,设置了允许访问的IP
3.要么这个系统远程请求第三方服务器了,然后被人家给拦截下来了
逐一测试:
一 . 找到config发现没有配置; 那就只能从index.php入手了;然后发现了:
但是把他们都注释后发现,并不可行。因为他们只是设置了一些头文件,所以不是这的原因。
二 . VUE设置了dev和prod ?
这里确实是有相关设置,但是!这里规定的是可以提供的相关的API的地址,也就是说我们的get/post请求出错误时候才会与这里挂钩。那页面的那些静态资源呢?比如图片,文字,是相对路径,他们理应加载出来的啊,所以也不是前端的问题。
(如果是因为前端配置的问题应该出现的问题如图:
)
对了,补充一点题外话:如果大家修改了dev和prod这种配置文件,一定要重启vue才可以生效!他和PHP不一样,不是直接生效的!
三 . 那就只剩下最后一种了,在我们跑程序的一开始,请求到了其他的第三方服务器,然后被拦截下来;
于是,我ctrl+shift+f全局搜索他的提示语“该网站未授权,禁止使用”,发现找不到。可能是人家服务器端return回来的提示语,我在本地搜不出来也正常,那我就搜索www或者curl就好了啊,他如果转到他的服务器,肯定会有这样的痕迹。
于是,我ctrl+shift+f全局搜索 www和curl,但还是一无所获。 我彻底迷茫了。
于是我只能从index.php入手(框架是TP),一点一点的往里走。。。 皇天不负有心人!!!
我终于找到了他,但是打开后:
??? 劳资当时就黑人问号???
这尼玛是啥,原来我的全局搜索搜不出来的原因是乱码(该文件被转码了)。
无奈,找大神帮我转码转回来,我才终于见识到了它的庐山真面目:
原来,真的是curl到了人家的服务器,然后人家数据库没有我们的域名,所以被拦截了下来,直接echo了“该网站未授权,禁止使用”。
解决:把这个if的判断语句全部删除,不转他那边,就好了。
我真是太难了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!