ssl - 如何在 GKE 上的 RabbitMQ UI 管理中添加 SSL?

标签 ssl rabbitmq cloud containers kubernetes

我正在尝试在 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/

相关文章:

c# - 正确理解具有相同主机/不同端口和安全性的 CORS

architecture - 使用 mqtt 协议(protocol)和 kafka 作为消息代理

azure - Microsoft.Practices.EnterpriseLibrary.WindowsAzure.TransientFaultHandling RetryPolicy 和 Microsoft.ServiceBus.dll

linux - 在 Azure 中重置/重新配置虚拟机的操作系统?

amazon-web-services - 为什么堡垒主机更安全?

ssl - 如何生成带有 "header"的 OpenSSL 证书?

c++ - C++、Windows 中的简单 SSL 套接字

java - Rabbitmq 确认监听器不工作

encryption - 需要有关自签名 SSL 和 Java 的建议

c# - 无法在 Unity 项目上添加 EasyNetQ 的引用