gpt4 book ai didi

Nginx 入口 Controller 路径重写不起作用

转载 作者:行者123 更新时间:2023-12-02 11:36:22 38 4
gpt4 key购买 nike

我已经使用 nginx-stable 安装了 nginx helm 图表和配置的入口规则如下。虽然它仅适用于根路径,如下所示,

/user/login - working
/user/register - working
/foo/user/login - not working
/foo/user/register - not working

我已经按照文档 ingress nginx rewrite 中的说明配置了重写目标但无法正常工作。不确定我做错了什么。

 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 路径和入口返回 404 时,我没有在 pod 中看到任何日志,如下所示,

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" "-"

最佳答案

two nginx ingress controllers OSS和Plus。你已经安装了Plus,但你需要安装OSS一个here因为您在注释中使用了 nginx.ingress.kubernetes.io

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 应该被删除,因为路径中没有正则表达式,所以没有必要。

关于Nginx 入口 Controller 路径重写不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61972474/

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