gpt4 book ai didi

kubernetes - 如何在haproxy-ingress中将目标重写为正确的路径?

转载 作者:行者123 更新时间:2023-12-04 11:30:47 26 4
gpt4 key购买 nike

我尝试在 k8s 中使用 haproxy 作为负载平衡和 haproxy-ingress 作为入口 Controller 。

我的负载平衡配置:

frontend MyFrontend_80
bind *:80
bind *:443
mode tcp
default_backend TransparentBack_https

backend TransparentBack_https
mode tcp
balance roundrobin
option ssl-hello-chk
server MyWebServer1 10.5.5.53
server MyWebServer2 10.5.5.54
server MyWebServer3 10.5.5.55

入口文件:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: li
namespace: li
annotations:
# add an annotation indicating the issuer to use.
cert-manager.io/cluster-issuer: "letsencrypt-staging"
#haproxy.org/forwarded-for: true
kubernetes.io/ingress.class: haproxy
ingress.kubernetes.io/ssl-redirect: "true"
spec:
rules:
- host: a.b.c
http:
paths:
- path: /storage
backend:
serviceName: li-frontend
servicePort: 80
tls:
- hosts:
- a.b.c
secretName: longhorn-ui-tls

li-frontend 是一个仪表板 ui 服务。

当我将入口中的路径字段设置为空白时,一切正常。当路径字段设置为/storage 或任何非空白值时,页面不正常。

我发现一些链接没有得到正确的位置,例如
requst             correct value
/main.js /storage/main.js

我在 nginx-ingress 中发现了这个:
#nginx.ingress.kubernetes.io/configuration-snippet: |
#rewrite ^/main(.*)$ /storage/main$1 redirect;

haproxy-ingress 有同样的功能吗?
我尝试了这些,但没有效果:
ingress.kubernetes.io/app-root: /storage
ingress.kubernetes.io/rewrite-target: /storage

另外,我在 nginx-ingress 中使用了 rewrite,但它在 websocket 上不起作用。

对不起,我的泳池英语。

最佳答案

对于 HAProxy:
你必须使用 haproxy 注释:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: web-ingress
namespace: default
annotations:
# replace all paths with /
haproxy.org/path-rewrite: "/"

# remove the prefix /foo... "/bar?q=1" into "/foo/bar?q=1"
haproxy.org/path-rewrite: (.*) /foo\1

# add the suffix /foo ... "/bar?q=1" into "/bar/foo?q=1"
haproxy.org/path-rewrite: ([^?]*)(\?(.*))? \1/foo\2

# strip /foo ... "/foo/bar?q=1" into "/bar?q=1"
haproxy.org/path-rewrite: /foo/(.*) /\1
spec:
# ingress specification...

引用: => https://www.haproxy.com/documentation/kubernetes/1.4.5/configuration/ingress/

关于kubernetes - 如何在haproxy-ingress中将目标重写为正确的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62077470/

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