【发布时间】:2020-05-26 10:08:16
【问题描述】:
我在 Azure Kubernetes 中部署了一个应用程序。我试图通过 Ingress Nginx 控制器访问应用程序。 Ingress 指向 xxx.xxx.com,应用程序部署在路径“/react”中。因此,当我访问该应用程序时,我可以看到标题,但在控制台中看到以下内容 GET https://dns/static/css/main.c0f79ebd.css net::ERR_ABORTED 404。当我通过 https://dns/react/static/css/main.c0f79ebd.css 访问 CSS 文件时,我能够访问它。那么如何将 /react 添加到生成的文件路径中呢?
以下是dockerfile内容
# build environment
FROM node:12.2.0-alpine as build
WORKDIR /app
ENV PATH /app/node_modules/.bin:$PATH
COPY package.json /app/package.json
RUN npm install --silent
RUN npm install react-scripts@3.0.1 -g --silent
COPY . /app
RUN npm run build
# production environment
FROM nginx:1.16.0-alpine
COPY --from=build /app/build /usr/share/nginx/html
RUN rm /etc/nginx/conf.d/default.conf
COPY nginx/nginx.conf /etc/nginx/conf.d
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
入口部署
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress
namespace: sample-ns
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
tls:
- hosts:
- dns
secretName: tls
rules:
- http:
paths:
- backend:
serviceName: my-react-app
servicePort: 80
path: /react(/|$)(.*)
【问题讨论】:
-
还是同样的问题。
-
你说“那么我怎样才能将/react添加到生成的文件路径?”是什么意思?
标签: reactjs kubernetes azure-aks