从部署在 GCP 上的反应式应用中点击烧瓶 RESTful API

Hit a flask RESTful API from reactive app deployed on GCP

我正在尝试在无法启用 public IP 的 Google 云 VM 实例上部署反应式应用程序。响应式应用程序根据用户输入点击 flask RESTful API 个端点。

应用和参数:

问题:我尝试在同一 VM 实例上托管 Flask 应用程序,但反应式应用程序无法访问 API 端点。

工作(仅限本地):当反应式应用程序和烧瓶应用程序在本地 运行 时,(本地)API 端点被命中。

不工作:

  1. 我尝试在 GCP 上部署应用程序并转发反应式 (http://localhost:3000) 和 flask 应用程序 (http://localhost:5000),但没有命中 flask 应用程序
  2. 我 运行 在本地(在笔记本电脑上)反应式应用程序并端口转发了烧瓶应用程序。令人惊讶的是,本地反应式应用程序能够访问 GCP 上的 API 端点。但是 objective 是让 GCP 应用程序点击 RESTful API
  3. 我为主机尝试了不同的值('localhost'、'127.0.0.1')并重复了 1、2

Flask 调试器没有记录 API 调用。不幸的是 Chrome 的网络日志不跟踪从响应式应用程序发送到 RESTful API 的请求。因此,我无法从反应式应用程序获取有关请求的更多信息。

当两者都部署在 GCP VM 实例上时,是否有办法从反应式应用程序中点击 RESTful API?我可以将 flask 应用程序移动到另一个 VM 实例,但是 public 无法启用 IP 并且无法修改防火墙规则。

注意:不是this question的重复,因为public无法启用IP.

请验证以下内容:

  • 确保 GCP 防火墙允许流量。
  • 验证 VM 实例中的本地防火墙也允许流量;检查

sudo netstat -tanp

端口实际打开并绑定到 0.0.0.0/0 或实例的内部 IP。

@GagandeepT 的回答将提供初步诊断以检查是否正确指定了主机和端口。我终于弄清楚了潜在的问题——代理正在重定向所有的 http 和 https 流量,即使 API 调用在技术上是 'local'.