首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nginx入口控制器路径重写不起作用

Nginx入口控制器路径重写不起作用
EN

Stack Overflow用户
提问于 2020-05-23 21:04:28
回答 1查看 1.3K关注 0票数 3

我已经使用nginx-stable helm chart安装了nginx,并配置了如下入口规则。尽管它只适用于根路径,如下所示,

代码语言:javascript
复制
/user/login - working
/user/register - working
/foo/user/login - not working
/foo/user/register - not working

我已经按照文档ingress nginx rewrite中所述配置了重写目标,但无法使其工作。不知道我做错了什么。

代码语言:javascript
复制
 apiVersion: networking.k8s.io/v1beta1
 kind: Ingress
 metadata:
   name: foosrv-ingress
   annotations:
     kubernetes.io/ingress.class: nginx
     nginx.ingress.kubernetes.io/rewrite-target: /$2
     nginx.ingress.kubernetes.io/use-regex: true
     nginx.ingress.kubernetes.io/ssl-redirect: false
     nginx.ingress.kubernetes.io/enable-rewrite-log: true
 spec:
   rules:
   - http:
       paths:
       - path: /foo(/|$)(.*)
         backend:
           serviceName: foosrv-service
           servicePort: 5500
       - path: /
         backend:
           serviceName: foosrv-service
           servicePort: 5500

显然,它甚至没有标识/foo(/|$)(.*)路径规则。当调用foo path和ingress返回404时,我在pod中看不到任何日志,如下所示,

代码语言:javascript
复制
192.168.65.3 - - [23/May/2020:12:40:30 +0000] "GET /user/login HTTP/1.1" 200 1685 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36" "-"
192.168.65.3 - - [23/May/2020:12:40:34 +0000] "GET /foo/user/login HTTP/1.1" 404 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36" "-"
EN

回答 1

Stack Overflow用户

发布于 2020-05-23 21:12:03

代码语言:javascript
复制
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm install my-release ingress-nginx/ingress-nginx

编辑:

应该删除nginx.ingress.kubernetes.io/use-regex: true,因为路径中没有正则表达式,所以没有必要。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61972474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档