如何在GKE上向RabbitMQ UI管理添加SSL?

时间:2017-07-06 14:42:59

标签: ssl rabbitmq cloud containers kubernetes

我正在尝试在Google容器引擎上设置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

为所有这些变量创建了秘密:

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

编辑: 我解决了凭证的部分,显然用户名的秘密和相关的密码没有被正确考虑。

1 个答案:

答案 0 :(得分:0)

我使用ingress ressource将流量重定向到我的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