如何解决在入口中使用 root 访问不同的反应路径
我有两个 react 应用,一个是给管理员用的,另一个是给普通用户用的。两者都具有 root /
访问权限。为了使管理员能够在普通用户访问他们各自的页面时访问他们的页面,我在管理员的反应路由器中添加了一个重定向路由,它从 admin
重定向到 /
。
然后我在入口中添加了两个后端,如下所示:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: my-ingress
annotations:
kubernetes.io/ingress.class: nginx
# nginx.ingress.kubernetes.io/use-regex: "true"
# nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
paths:
- path: /
pathType: Prefix
backend:
serviceName: user-service
servicePort: 3000
- path: /admin
pathType: Exact
backend:
serviceName: admin-service
servicePort: 4000
事情是这样的,它不会加载管理页面。我不知道为什么......有没有办法用相同的根路径加载这些不同的应用程序? (两个根路径都是 /
)
解决方法
在您的管理服务中,请确保您从相对路径(此处为 /admin)提供服务。
在 CRA 中你可以通过在 package.json 中配置主页来实现
"homepage": "http://example.com/admin",
参考:https://create-react-app.dev/docs/deployment/#building-for-relative-paths
,这也许是你想要的 - Nginx 重写
nginx.ingress.kubernetes.io/rewrite-target
这是完整的文档。 rewrite
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。