入口nginx路径路由

jvlzgdj9  于 2023-01-20  发布在  Nginx
关注(0)|答案(1)|浏览(135)

我在AKS上部署了React应用程序,应用程序登录页的URL为https://myapp.host.com/dev/
目前,应用程序有多个屏幕可供导航,例如:/配置文件
当我单击配置文件导航按钮时,它将重定向到此URL:https://myapp.host.com/profile这不是我想要的。虽然个人资料页面能够加载,但是如果页面刷新,它将返回错误,因为应用程序无法读取https://myapp.host.com/profile URL。根据权利,我希望它是https://myapp.host.com/dev/profile,以便即使页面刷新,应用程序也能够加载。
下面是我的入口配置:

ingress:
  name: myapp-ingress
  annotations: 
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    nginx.ingress.kubernetes.io/rewrite-target: /$1
  hosts: 
  - host: myapp.host.com
    paths: 
    - path: /dev/(.*)
      pathType: Prefix
      backend: 
        service:
          name: myapp-svc
          port: 
            number: 8080
  tls: 
  - hosts: 
    - myapp.host.com
    secretName: myapp-ingress-tls-secret

我应该在配置中更改什么?

ddrv8njm

ddrv8njm1#

我也是个新手,但也许是因为
根据ingress-nginx文档,nginx.ingress.kubernetes.io/rewrite-target意味着业务必须被重定向到的目标URI。
所以nginx.ingress.kubernetes.io/rewrite-target: /$1意味着当你匹配/dev/profile时,它会重定向到/profile,所以也许你可以删除它并重试?

相关问题