2.5.3
Reproduction linkhttps://jsfiddle.net/chrisvfritz/50wL7mdz/
Steps to reproduce服务架构:前端nginx(后文统称nginx1)转发请求至vue服务器(nginx,后文统称nginx2)。
vue路由设置如下:
export default new Router({ mode: 'history', base: __dirname, routes: [ { path: '/', component: mycomponent } ] }) 前端转发nginx1配置如下:
server { listen 80; servername ;
location /web/ {
proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://NGINX2:80/;
}
}
vue build的时候设置了assetsPublicPath: './' ,编译后的dist内容放在nginx2的 /usr/share/nginx/html下,nginx2配置如下:
server { listen 80; servername ;
location / {
root /usr/share/nginx/html;
try_files $uri $uri/ /index.html;
}
} 结果: 在浏览器上输入http://NGINX2:80/,可以显示出页面。 但在浏览器上输入http://NGINX1:80/web/显示出空白,但是从dev控制台上能看到资源都加载到了。
以上如果把vue-router模式设置为hash,则http://NGINX2:80/#/和http://NGINX1:80/web/#/都能正常显示。 请问能帮忙分下下原因吗?
What is expected?http://NGINX2:80/和http://NGINX1:80/web/都能正常显示页面。
What is actually happening?在浏览器上输入http://NGINX2:80/,可以显示出页面。 但在浏览器上输入http://NGINX1:80/web/显示出空白,但是从dev控制台上能看到资源都加载到了。
以上如果把vue-router模式设置为hash,则http://NGINX2:80/#/和http://NGINX1:80/web/#/都能正常显示。 请问能帮忙分下下原因吗?