我目前在私有端点上有一个事件中心。我正尝试允许合作伙伴通过我们的防火墙访问该事件中心。
目前,我们正在尝试使用 AMQP 和端点连接字符串进行连接。显然,使用 FQDN 不起作用,因为事件中心没有公共 IP 地址。更改字符串中防火墙 IP 地址的 FQDN 会返回证书错误,我推测这是因为事件中心在请求字符串中需要 FQDN 而不是 IP。
在链中(发送源、负载均衡器、防火墙、事件中心)可以做什么来允许连接?
谢谢你,里卡多
答案1
由于我在这个问题上呆了一天,这里为未来遇到此问题的用户提供以下解决方案:
您需要创建一个私有 DNS 区域,以便 FQDN 解析为您的端点的私有 IP 地址。这样,您仍然使用私有端点连接到事件中心,并且服务可以使用事件中心的 FQDN 主机名,并且不会出现证书错误。
有两种方法可以创建私有 DNS 区域:
创建端点时:
“配置”选项卡中有一个与私有 DNS 区域集成的选项。选择是并保留默认值。请注意,如果您使用资源 ID 创建端点(即使用上一个资源选项卡中的“通过资源 ID 或别名连接到 Azure 资源”选项),则此选项将被禁用并设置为否
创建端点后:
如果您在创建没有 DNS 区域的终端节点后需要添加 DNS 区域,
- 手动创建一个名为“私有 DNS 区域”私有链接.servicebus.windows.net。请注意,名称必须完全相同,不能使用随机名称作为区域名称。
- 创建 DNS 区域后,转到 DNS 区域资源,转到“虚拟网络链接”选项卡并添加到端点所在的 VNET 的链接。
- 转到私有端点资源,转到“DNS 配置”选项卡,然后单击顶部的“添加配置”按钮。选择您在上一步中创建的 DNS 区域,其他所有内容保持不变。
- 保存后,通过
nslookup <event-hubs-namespace-name>.servicebus.windows.net
您的虚拟机进行验证,您将获得私有 IP 地址。