Bug:浏览器一直访问旧资源
1 问题阐述
今天在查看自己部署的项目时候,发现浏览器总是访问旧的资源
2 排查思路
2.1 浏览器缓存问题
清除浏览器缓存
ctrl + shift + del
2.2 tomcat问题
我的项目是部署在tomcat上的,因此我怀疑是tomcat的配置问题
- 查看tomcat配置,发现没问题
- 重新解压一个tomcat,重新部署前端项目,发现依然不奏效
2.3 其他web容器影响
后来我通过F12查看网络请求,发现浏览器访问的资源我tomcat上压根没有。于是想起之前将静态资源放在了nginx上,迁移到tomcat后没有清理
# 查找nginx进程号
ps -ef | grep nginx
# 杀死对应进程
kill -9 + PID
2.4 防火墙是否关闭
标准上应用应该是开放指定端口,此处我为了排查问题,直接暂时关闭防火墙
# 查看防火墙状态
systemctl status firewalld
# 关闭防火墙
systemctl stop firewalld
# 启动防火墙
systemctl start firewalld
关闭防火墙后,发现没有访问到静态资源,而是直接显示不了对应的页面
拓展:防火墙开放指定端口
# 启动防火墙
systemctl start firewalld
# 查看防火墙已经开放的端口
firewall-cmd --list-all
# 开放80端口【需要重启防火墙生效】
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
# 重启防火墙,使配置生效
systemctl restart firewalld
# 重新查看开放端口
firewall-cmd --list-all
注意:
如果是云服务器,需要开放对应组策略
2.5 url是否有问题
查看自己的ip是否正确
- nginx访问:ip+对应端口+前缀
http://192.168.1.400:8081/music-client/
- tomcat访问:ip+对应端口(默认:80)+文件名(webapps)
http://192.168.1.400/music-client/
拓展:如果以上问题解决发现浏览器访问后台接口出现
xhr
获取不到数据,检查后台服务是否启动
# 后台启动springboot
nohup java -jar xxxx.jar &
3 问题解决
我的问题是:nginx未关闭,防火墙端口未开启
最后成功访问: