2017-10-04 14 views
1

私の会社は、私がopenhiftで展開したマイクロサービスプロジェクトを実行しています。opensshiftで実行しているrabbitmqサービスのルートに接続できません

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

が、今私は、私のラップトップで、新しいサービスを開発し、まだopenshiftする展開されていない、と今私はよ、それのコードでこのプロパティを持つRabbitMQのサービスに接続する

や既存のサービスの成功他の人と同じブローカーに接続しようとしているので、それはポート

だと私は、これは私のルートYAMLである5672でのRabbitMQサービスのための新しいルートを作成しました:

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 

サービスが接続を設定できませんでした。

この問題を解決するにはどうすればよいですか? どこで修正する必要がありますか?私のサービスルートまたは私のサービスプロパティ..?

ありがとうございます。

答えて

0

パススルーセキュア接続を使用してクラスタ外の非HTTPサーバーを公開する場合、サービスはTLS接続を終了する必要があり、クライアントもTLS経由のSNIをサポートする必要があります。あなたはそれらの両方を持っていますか?今はポート80で接続しようとしているようです。つまり、HTTPでなければなりません。 RabbitMQはHTTPではないのですか?同じOpenShiftクラスタ内のフロントエンドアプリケーションからのみ接続しようとしている場合は、rabbitmqにルートは必要ありません。ホスト名として 'rabbitmq'を使用し、ポート5672を使用してください。

+0

あなたのレスポンス、もし私が間違っていたら私を修正してください。私はオープンシフトで新しいですから。 私は開発段階で、debbugingをたくさんやる必要があるので、opensshiftクラスタから外部に接続したいと思っています。 私はポート80をデフォルト値5672とし、ポート80を使用しているので、80を使用しました。80はデフォルトのポートです。 私のrabbitmyqサービス用にamqp route(httpではなく)を作成することは可能ですか? – ismailzakky

+0

か、オープン・シフト・クラスターの外にIPで私のサービスを呼び出すことは可能でしょうか?私のラップトップは私の会社のオープンシフター専用サーバーと同じネットワークの中にいます。 – ismailzakky

+0

開発またはデバッグ中に必要な一時的な接続の場合は、ローカルマシン上で実行されているアプリケーションから接続できるように、ポート転送を使用できます。 https://learn.openshift.comのポート転送チュートリアルを参照してください。サービスに割り当てられた永続的なポートに外部から公開できるかどうかは、OpenShiftクラスタの構成によって異なります。永久的なものには管理者のアクセスが必要な場合があります。一時的な場合は、ポート転送を使用することをお勧めします。 –

関連する問題