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



我正试图在谷歌云虚拟机实例上部署一个无法启用公共IP的响应式应用程序。反应式应用程序根据用户输入达到flask RESTful API端点。

应用程序和参数:

  • Flask应用程序(主机="0.0.0.0",端口=5000(
  • 反应式应用程序(主机="0.0.0.0",端口=3000(

问题:我尝试在同一虚拟机实例上托管flask应用程序,但反应式应用程序无法到达API端点。

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

不工作:

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

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

当两者都部署在GCP虚拟机实例上时,有没有办法从反应式应用程序中访问RESTful API?我可以将flask应用程序移动到另一个VM实例,但不能启用公共IP,也不能修改防火墙规则。

注意:不是这个问题的重复,因为公共IP无法启用

请验证以下内容:

  • 确保GCP防火墙允许通信
  • 验证虚拟机实例中的本地防火墙是否也允许流量;检查

sudo netstat-tanp

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

@GagandeepT的回答将提供初步诊断,以检查主机和端口是否正确指定。我终于发现了潜在的问题——代理重定向了所有的http和https流量,尽管API调用在技术上是"本地的"。

相关内容

  • 没有找到相关文章

最新更新