无法连接到openshift上运行的rabbitmq服务路由

时间:2017-10-04 04:31:21

标签: rabbitmq openshift spring-cloud-stream

我的公司运行了使用openshift部署的微服务项目。

现有服务成功连接到Rabbitmq服务及其上的代码,

spring.cloud.stream.rabbitmq.host: rabbitmq
spring.cloud.stream.rabbitmq.port: 5672

现在我正在开发新的服务,我的笔记本电脑尚未部署到openshift,现在我正在尝试连接到其他人的同一个经纪人,所以我为rabbitmq服务创建了新的路由5672作为它的端口

这是我的路线YAML:

apiVersion: v1
kind: Route
metadata:
  name: rabbitmq-amqp
  namespace: message-broker
  selfLink: /oapi/v1/namespaces/message-broker/routes/rabbitmq-amqp
  uid: 5af3e903-a8ad-11e7-8370-005056aca8b0
  resourceVersion: '21744899'
  creationTimestamp: '2017-10-04T02:40:16Z'
  labels:
    app: rabbitmq
  annotations:
    openshift.io/host.generated: 'true'
spec:
  host: rabbitmq-amqp-message-broker.apps.fifgroup.co.id
  to:
    kind: Service
    name: rabbitmq
    weight: 100
  port:
    targetPort: 5672-tcp
  tls:
    termination: passthrough
  wildcardPolicy: None
status:
  ingress:
    - host: rabbitmq-amqp-message-broker.apps.fifgroup.co.id
      routerName: router
      conditions:
        - type: Admitted
          status: 'True'
          lastTransitionTime: '2017-10-04T02:40:16Z'
      wildcardPolicy: None

当我试图用这个属性连接我的新服务时:

spring.cloud.stream.rabbitmq.host: rabbitmq-amqp-message-broker.apps.fifgroup.co.id
spring.cloud.stream.rabbitmq.port: 80

我的服务无法设置连接。

如何解决这个问题? 我应该在哪里修理它?我的服务路线或我的服务属性..?

感谢您的关注。

1 个答案:

答案 0 :(得分:0)

如果您使用直通安全连接在群集外部公开非HTTP服务器,则您的服务必须终止TLS连接,并且您的客户端还必须支持SNI over TLS。你有这两个吗?现在看来你正试图在端口80上连接,这意味着它必须是HTTP。 RabbitMQ不是非HTTP吗?如果您只是尝试从同一个OpenShift集群中的前端应用程序连接到它,则不需要在rabbitmq上使用Route,使用'rabbitmq'作为主机名并使用端口5672。