企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

VUE项目打包发到Docker二次刷新页面报404错误问题解决

wudianyun 2024-12-29 01:36:37 精选文章 27 ℃

将VUE项目打包后发布到Docker的Nginx服务器后,基本使用正常,发现前端有一个404错误,但页面显示正常,在退出登录后,跳转到404页面,便这个404页面是nginx缺省的,并不是自己vue项目的,参考网上资料后搞定了此问题,特此记录:

一、原因

刷新页面时访问的资源在服务端找不到,因为vue-router设置的路径不是真实存在的路径。如上的404现象,是因为在nginx配置的根目录/Data/app/xqsj_wx/dist下面压根没有loading这个真实资源存在,这些访问资源都是在js里渲染的。
二、Dockerfile文件

注意打包文件拷贝的目标路径,后面的default.conf要一致,否则会有问题

FROM urbgn6za.mirror.aliyuncs.com/library/nginx

MAINTAINER Wu Jize <wujize188@163.com>

RUN rm /etc/nginx/conf.d/default.conf

ADD default.conf /etc/nginx/conf.d/
#文件拷贝到镜像的目标路径,后面用$uri可以访问到,
COPY dist/  /etc/nginx/html/

三、Nginx配置文件

Nginx启动配置文件是default.conf文件,这个文件要特别注意格式

server {
    listen 8090;
    server_name 192.168.195.17;

    index index.html;
    #charset koi8-r;
    # cross
    #
    location /prod-api/ {
      proxy_pass http://192.168.195.17:8088/;
    }
    # 解决出现404问题
    location / {
        try_files $uri $uri/ @router;
        index index.html index.htm;
    }
    location @router {
      rewrite ^.*$ /index.html break;
    }

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root html;
    }
}

Tags:

最近发表
标签列表