gpt4 book ai didi

reactjs - 对Kubernetes入口使用react

转载 作者:行者123 更新时间:2023-12-02 12:29:14 24 4
gpt4 key购买 nike

我在Azure Kubernetes中部署了一个应用程序。我试图通过Ingress Nginx Controller 访问应用程序。 Ingress指向xxx.xxx.com,并且该应用程序部署在路径“/ react”中。因此,当我访问该应用程序时,我可以看到标题,但可以看到以下控制台
GET https://dns/static/css/main.c0f79ebd.css net::ERR_ABORTED404。通过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(/|$)(.*)

最佳答案

如果您使用的是Create React App,则可能需要更新“主页”设置,以反射(reflect)将通过子目录而不是网站根目录提供文件。
"homepage": "https://dns/react"放入package.json并重建react / docker
然后重新部署可能会成功。

关于reactjs - 对Kubernetes入口使用react,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60161429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com