我目前正在尝试将 Dialogflow Bot 集成到内部应用程序中。该机器人与虚拟机上运行的数据库进行通信。当我在防火墙级别允许所有到 DB 端口的连接或打开特定 IP 时,一切都运行正常。看起来来自 Dialogflow 的请求来自多个 IP。有没有办法知道 Dialogflow 发送请求的 URL 或 IP 范围?
答案1
不幸的是,Dialogflow 使用了许多 IP 地址,因此“打开特定 IP”是不够的。
作为一种可能的解决方法,你可以在文档文章中找到 Google 公共 IP 地址默认域的 IP 地址并使用它们创建防火墙规则:
- Google 于 2019 年发布了其向互联网公布的 IP 范围完整列表goog.json。
- Google 还发布了 Google Cloud 客户可用的全球和区域外部 IP 地址范围列表云.json。
cloud.json
Google API 和服务的默认域使用的 IP 地址位于通过从 中的范围减去 中的所有范围计算得出的范围列表内goog.json
。
答案2
由于 Dataflow 使用多台虚拟机,因此数据来自多个 IP。所有 Dataflow 工作器都带有标签“dataflow”,您可以使用该标签在防火墙规则中过滤虚拟机。