簡體   English   中英

對 Kubernetes Ingress 做出反應

[英]React on Kubernetes Ingress

我在 Azure Kubernetes 中部署了一個應用程序。 我試圖通過 Ingress Nginx 控制器訪問應用程序。 Ingress 指向 xxx.xxx.com,應用程序部署在路徑“/react”中。 因此,當我訪問該應用程序時,我能夠看到標題,但我看到以下控制台 GET https://dns/static/css/main.c0f79ebd.css net::ERR_ABORTED 404。我能夠訪問 CSS 文件當我通過https://dns/react/static/css/main.c0f79ebd.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,您可能需要更新“主頁”設置以反映文件將從子目錄而不是站點根目錄提供。

"homepage": "https://dns/react"放在 package.json 中並重建 react/docker 並重新部署可能會成功。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM