玖叶教程网

前端编程开发入门

一般人绝对无法发现的nginx锅(telnet客户端出现错误并非所有的功能被成功更改)

nginx热启动:

nginx -s reload

PS:要在/etc/profile环境变量PATH里配置nginx的路径。配置完执行 source /etc/profile 让变量生效。

一次部署,同样的前端代码,放到了nginx里面运行,但是有一个模块全部页面都报这个错误,其他模块正常展示。以前遇到这种问题,就是因为前端token与后端token不一致,无法通过鉴权引起的,可能是redis配置问题。这次按照这个思路排查,但redis并没发现问题。

通过网上各种查询,什么说法都有,但是都没解决401问题。不行大家可以搜下这个401错误,然后看下网上的处理方法,肯定找不到我下面要讲的处理思路。

最后仔细研究了半天时间,发现有个奇怪现象,访问这页面,一直走网关,对,没错,就是要经过网关。有人想,微服务架构,走网关不正常吗。但是,这个页面,只是访问资源,根本不要走网关。就排查网关日志,鉴权微服务、权限微服务日志,发现没有任何日志记录,说明根本没处理,也排查了nginx日志,没发现有用信息。

这时候,就想到了nginx的反向代理,这玩意儿也会让页面走网关。上配置:



看出什么问题没?

======================我是可爱的分割线=================

错误在哪?为什么页面资源会经过网关?为什么报401错误?为了凑这个三连问,费了点心。

一切的问题都在这句话,location ~ /(api|oauth|business)。没错,就它。说到这,我相信还是有看官迷糊。这咋了,错哪了?没错,能问出来错哪了,说明你已经具有了程序员以及成家男人的必备素养了。

我也是有素养的人,所以我不绕弯子告诉你,错在了business。页面路径有个businessquery,nginx配置的反向代理有business。这就走了网关了,这就是错了。这种配置方法太容易挖坑。

讲下这个配置,

location ~ /(api|oauth|business) {

#是根据括号内的大小写进行正则匹配。括号内全是小写,只匹配小写

}

我痛定思痛,下功夫研究了下nginx的配置,下篇讲。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言