背景
有a,b两个前端项目。
服务器1曾经部署了a,服务器2部署了a,b
后产品融合,b的代码融合进入a
b项目提供了一个功能,可以通过url显示图片
问题现象
服务器1上,通过url访问无法正常显示图片
服务器2上,通过url可以正常显示图片
排查思路
由于后来b项目的代码融合进入a,所以服务器1上显示图片的功能应该是由a项目提供的
服务器2上显示功能也应如此。
于是打开2个服务器上的nginx配置,比较两个服务器上a项目的转发配置,发现是一样的,无任何区别。
继续观察页面,打开chrome的控制台,查看访问服务器2的url时的请求,发现访问路径是www.****.com/patientrecruit/linkDisplay?patientId=****&type=***
服务器1的url也是该路径,但是访问时报错
查看两台服务器的nginx配置,发现服务器2上之前配置了/patientrecruit的转发,服务器1上没有配置,但是现在已经把b的代码融合进a了,这个转发应该去掉。于是我直接删除/patientrecruit的转发路径下的静态资源,再次访问/patientrecruit,发现404。说明之前一直是按照该路径去展示图片的。这样看起来,服务器1和2都有问题了。
于是找到前端开发人员,再次详细询问该业务逻辑,原来除了前端的改动外,后端也需要配合这个url的改动进行代码改动。找到后端开发人员,然后比对代码,发现该url是在nacos中进行配置,于是打开nacos,发现果真没有改动配置。修改配置后,一切正常。