我正在尝试在 kubernetes 上部署 vernemq,并希望使用带有 ssl 的子域来访问它,但在请求转到端口 1883 上的 vernemq 之前应该终止 ssl。
最佳答案
创建包含以下内容的文件haproxy-ingress-values.yaml
controller:
tcp:
"1883": "default/vernemq:1883:::default/mqtt-tls"
default/vernemq:1883
是 vernemq
的服务,端口为 1883,default/mqtt-tls
是您想要的 mqtt 的 tls secret 终止。
然后使用以下命令升级您的haproxy-ingress
helm upgrade haproxy-ingress haproxy-ingress/haproxy-ingress --create-namespace --namespace ingress-controller --version 0.13.4 -f haproxy-ingress-values.yaml
如果是全新安装 haproxy-ingress,只需将 upgrade
替换为 install
。
然后最后部署以下入口
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: vernemq-ingress
annotations:
kubernetes.io/ingress.class: haproxy
ingress.kubernetes.io/tcp-service-port: "1883"
spec:
rules:
- http:
paths:
- path: /
pathType: ImplementationSpecific
backend:
service:
name: vernemq
port:
number: 1883
关于kubernetes - Vernemq 端口 1883,具有 haproxy-ingress 和 SSL 终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69488472/