本项目采用Nginx同端口不同目录方式部署,共用SSL证书,在部署过程中,由于加了不同的目录,导致静态资源路径不对。
有两种情况:
1.在反向代理时,proxy_pass地址带"/"和不带“/”区别:
location /app {
proxy_pass http://localhost:3001;
}
如上图,若不带“/”,则直接将域名换成代理地址,转发到接口服务器,比如浏览器访问:http://mysite.com/app/api,实际是访问 http://localhost:3001/app/api
若带“/”,nginx则去掉 /app,拼接后转发给接口服务器。比如浏览器访问:http://mysite.com/app/api,实际是访问 http://localhost:3001/api
所以要配合后台接口路径配置。
2.在vue项目中,为了使静态资源路径与项目一致,需要修改vue.config.js配置:
publicPath: './'