路径问题

来源:13-9 【容器化上线】实现阿里云部署

慕函数4298367

2021-04-12

老师我遇到一个问题, 我项目在电脑上测试的时候 http://localhost:3000/ 或者 http://localhost:3000/add 等所有链接都能访问。 但是我部署到阿里云后 只能访问http://40.114.73.16:8000/ ,直接http://40.114.73.16:8000/add时报错404 Not Found
nginx/1.19.6 但是能我设置了登入后自动跳转http://40.114.73.16:8000/add 又可以访问的。这是啥问题?

//这个是App组件
return (
    <div className={styles.App}>
      <BrowserRouter>
      <Switch>
      <Route exact path="/" component={SignIn} /> 
       <Route path="/add" component={AddProduct} />
       <Route  path="/show/:name" component={ShowProduct} />
       
       <Route  path="/Register" component={Register} /> 
       
       
       <Route component={ErrorPage} />
       </Switch>
      </BrowserRouter>
      
    </div>
  );
}
#  Dockerfile我直接复制过来的
FROM node:14 as build
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY tsconfig.json ./
COPY public public/
COPY src src/
RUN npm run build

# 第二个阶段: 创建并运行Ngnix服务器,并且把打包好的文件复制粘贴到服务器文件夹中
FROM nginx:alpine
COPY --from=build /app/build/ /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

图片描述

图片描述

写回答

1回答

阿莱克斯刘

2021-04-14

我也没看懂这是什么情况,按道理来说不需要做任何配置就能支持路由。能不能具体描述一下你问题和配置?最好能贴个图

0
5
阿莱克斯刘
不过,有个问题要问一下。在你本地build完docker镜像以后,你有没有是过本地运行(docker run 镜像)?本地运行的docker镜像也会跑在nginx里面,跟服务器的环境是一样的
2021-04-15
共5条回复

React18 系统精讲 结合TS打造旅游电商平台

React18 精讲 + 结合 TS 实战 + 热门业务开发,获取必备技能

1993 学习 · 1015 问题

查看课程