先说原因和解决办法
原因就是我们只配置了服务器的请求数据代理,文件代理没有配置(我自己这么叫。。)
解决办法: 把请求静态文件的路径也要用反向代理配置:
如图:
我这里用的是apache2 反向代理express项目和tomcat项目,配置好代理之后,tomcat项目正常,但是express项目只有一个空白页面,如图所示:
tomcat项目:
tomcat项目可以正常访问,但是当我们打开express项目的时候:
只有一个空白的页面!!你没看错!!,于是我们使用端口访问,看看express服务是否运行:
到这里,足以说明我们的服务是没有问题的,下面我们打开浏览器的开发者工具 (F12),访问站点,查看网络是否有错误:
果然,有的文件没有找到(前几个文件时网络加载的样式文件,肯定不会有问题,最后两个是express编译后的文件,都没有找到),我们来点开看一下:
意思是说在获取服务器下/js/aboutxx的文件没有找到,由于我们是反向代理方式,可能是代理路径出了问题,于是我们测试加上端口看问题是否解决:
加上端口之后我们的文件可以找到,就说明是我们的反向代理的路径不对,于是我们来看代理路径:
很简单,问题找到了,我们只配置了请求的代理路径,所以浏览器找不到静态资源的路径,我们只需要把静态资源的路径也配置到反向代理中即可:
然后重启动服务,再来看看吧! :
问题完美解决!!