4.6.4.2. 从外部客户端连接到代理


当您向外部客户端公开接受者(即,将 expose 参数的值设置为 true时,会为部署中的每个代理 Pod 自动创建专用服务和路由。要查看给定代理 Pod 上配置的路由,请在 OpenShift Container Platform web 控制台中选择 Pod 并点 Routes 选项卡。

外部客户端可以通过指定为代理 Pod 创建的 Route 的完整主机名来连接到代理。您可以使用基本的 curl 命令测试对这个完整主机名的外部访问权限。例如:

$ curl https://my-broker-deployment-0-svc-rte-my-openshift-project.my-openshift-domain

Route 的完整主机名必须解析为托管 OpenShift 路由器的节点。OpenShift 路由器使用主机名来确定在 OpenShift 内部网络内发送流量的位置。

默认情况下,OpenShift 路由器侦听端口 80 以获得安全保护(即非 SSL)流量和端口 443(即 SSL 加密)流量和端口 443。对于 HTTP 连接,如果您指定了一个安全连接 URL(即 https),路由器会自动将流量定向到端口 443(即 http)。

对于非 HTTP 连接:

  • 客户端必须明确指定端口号(例如,端口 443)作为连接 URL 的一部分。
  • 对于单向 TLS,客户端必须指定到其信任存储和相应的密码的路径,作为连接 URL 的一部分。
  • 对于双向 TLS,客户端 还必须 指定其密钥存储和对应的密码的路径,作为连接 URL 的一部分。

下方显示了一些客户端连接 URL 的示例,如受支持的消息传递 protcols。

外部核心客户端,使用单向 TLS

tcp://my-broker-deployment-0-svc-rte-my-openshift-project.my-openshift-domain:443?useTopologyForLoadBalancing=false&sslEnabled=true \
&trustStorePath=~/client.ts&trustStorePassword=<password>

注意

在连接 URL 中,使用TopologyForLoadBalancing 键明确设置为 false,因为外部 Core 客户端无法使用代理返回的拓扑信息。如果此键设为 true,或者您没有指定值,则会生成 DEBUG 日志消息。

外部核心客户端,使用双向 TLS

tcp://my-broker-deployment-0-svc-rte-my-openshift-project.my-openshift-domain:443?useTopologyForLoadBalancing=false&sslEnabled=true \
&keyStorePath=~/client.ks&keyStorePassword=<password> \
&trustStorePath=~/client.ts&trustStorePassword=<password>

使用单向 TLS 的外部 OpenWire 客户端

ssl://my-broker-deployment-0-svc-rte-my-openshift-project.my-openshift-domain:443"

# Also, specify the following JVM flags
-Djavax.net.ssl.trustStore=~/client.ts -Djavax.net.ssl.trustStorePassword=<password>

使用双向 TLS 的外部 OpenWire 客户端

ssl://my-broker-deployment-0-svc-rte-my-openshift-project.my-openshift-domain:443"

# Also, specify the following JVM flags
-Djavax.net.ssl.keyStore=~/client.ks -Djavax.net.ssl.keyStorePassword=<password> \
-Djavax.net.ssl.trustStore=~/client.ts -Djavax.net.ssl.trustStorePassword=<password>

使用单向 TLS 的外部 AMQP 客户端

amqps://my-broker-deployment-0-svc-rte-my-openshift-project.my-openshift-domain:443?transport.verifyHost=true \
&transport.trustStoreLocation=~/client.ts&transport.trustStorePassword=<password>

使用双向 TLS 的外部 AMQP 客户端

amqps://my-broker-deployment-0-svc-rte-my-openshift-project.my-openshift-domain:443?transport.verifyHost=true \
&transport.keyStoreLocation=~/client.ks&transport.keyStorePassword=<password> \
&transport.trustStoreLocation=~/client.ts&transport.trustStorePassword=<password>

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.