问题解决1:nginx反向代理丢失js、css问题

html-css017

问题解决1:nginx反向代理丢失js、css问题,第1张

对于新版本的vue,需要新增vue.config.js,并添加如下配置,产生的效果是一样的

其实用 相对路径 来解决这个问题不是最好的方案,甚至 vue-cli4.x 之后,就不支持将 publicPath 设置为 ./ 了。

看了 公司的项目 及 Nuxt框架 的推荐,均是推荐使用绝对路径来设置 publicPath

这里主要是使用nginx 实现对多个tomcat的代理配置. 首先nginx 的配置文件为conf/ngins.conf

描述场景 有8080端口下Tomcat1下项目A.

有8090端口下tomcat2下项目B.

......

通过使用一个域名+(不同)项目名 访问不同的tomcat下的项目.

配置文件如下:(均在conf文件内添加即可 不删除或修改其他内容).

server {

listen 80

server_name localhost

#charset koi8-r

#access_log logs/host.access.log main

location /Name1 {

#root html

proxy_pass http://localhost:8080/A

proxy_redirect http://host:8080 http://$host:$server_port//这个配置是将我们的host主机名和端口号,被host:8080所替代.不然因为域名问题,加载js,css文件会报404错误.

index index.html index.htm

}

location /Name2 {

#root html

proxy_pass http://localhost:8090/B

proxy_redirect http://host:8090 http://$host:$server_port

index index.html index.htm

}

..........省略

}

配置保存,重启.吐槽一下nginx的重启运行.很麻烦.我是在任务管理器内直接停止后重启的.

以上即可实现 localhost+A-------访问tomcat A项目

localhost+B-------访问tomcat B项目

这个问题的原因应该来说比较多

1、是否配置正确 server_name

2、DNS域名解析是否正确,可以ping一下你的域名

3、是否需要做url重写或者url重写是否配置正确

4、是否需要单独对于css js及图片这些单独指定目录

5、检查css js文件请求的地址是否正确以及服务器目录中是否有相应的文件