我正在尝试在 Google Container Engine 上设置 RabbitMQ 集群,到目前为止它工作正常。 为了使其更安全,我尝试为 UI 管理启用 SSL。
不幸的是,它无法正常工作,我确定我做错了什么,但我不知道是什么。
我遵循了此处共享的信息:https://github.com/docker-library/rabbitmq/pull/49 (用于 SSL 支持)
我生成了一个自签名证书用于测试目的:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /tmp/rq.key -out /tmp/rq.crt
为所有这些变量创建 secret :
kubectl create secret generic rabbitmq-key --from-file=/tmp/rq.key
kubectl create secret generic rabbitmq-cert --from-file=/tmp/rq.crt
这是我为这些更改添加到我的 rabbitmq.yaml 文件中的内容:
- name: RABBITMQ_SSL_CERT_FILE
valueFrom:
secretKeyRef:
name: rabbitmq-crt
key: rq.crt
- name: RABBITMQ_SSL_KEY_FILE
valueFrom:
secretKeyRef:
name: rabbitmq-key
key: rq.key
编辑: 我解决了凭据部分,显然没有正确考虑用户名和相关密码的 secret 。
最佳答案
我通过使用将流量重定向到我的 UI 管理端口的入口资源成功地使其成为 https。
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: basic-ingress
spec:
tls:
- secretName: tls-secret
backend:
serviceName: rabbitmq-management
servicePort: 15672
rules:
- http:
paths:
- path: /
backend:
serviceName: rabbitmq-management
servicePort: 15672
关于ssl - 如何在 GKE 上的 RabbitMQ UI 管理中添加 SSL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44952126/