如何解决从GCP上部署的响应式应用中获得一个烧瓶式RESTful API
我正在尝试在无法启用公用IP的Google Cloud VM实例上部署响应式应用程序。响应式应用程序会根据用户输入点击烧瓶RESTful API端点。
应用和参数:
- Flask应用(主机='0.0.0.0',端口= 5000)
- 反应性应用(主机='0.0.0.0',端口= 3000)
问题:我曾尝试将flask应用程序托管在同一VM实例上,但反应式应用程序无法访问API端点。
工作(仅限本地):当在本地运行反应式应用程序和flask应用程序时,将击中(本地)API端点。
不起作用:
- 我尝试在GCP上部署应用程序,并转发端口(active)(http:// localhost:3000)和flask应用程序(http:// localhost:5000),但是flask应用程序没有被点击
- 我在本地(在笔记本电脑上)运行了反应式应用程序,并转发了烧瓶应用程序。令人惊讶的是,本地反应式应用程序能够在GCP上访问API端点。但目标是让GCP应用程序达到RESTful API
- 我为主机尝试了不同的值(“ localhost”,“ 127.0.0.1”),并重复了1、2
Flask调试器未记录API调用。不幸的是,Chrome的网络日志无法跟踪从反应式应用发送到RESTful API的请求。因此,我无法从反应式应用程序获取有关请求的更多信息。
当两者都部署在GCP VM实例上时,是否有办法从反应式应用中调用RESTful API?我可以将Flask应用程序移至另一个VM实例,但是无法启用公共IP,并且不能修改防火墙规则。
注意:由于无法启用公共IP ,因此不能与this question重复。
解决方法
请验证以下内容:
- 确保GCP防火墙允许流量。
- 验证VM实例中的本地防火墙也允许流量;与 核对
sudo netstat -tanp
端口实际上是开放的,并绑定到0.0.0.0/0或实例的内部IP。
,@GagandeepT 的回答将提供初步诊断,以检查是否正确指定了主机和端口。我终于找到了潜在的问题 - 即使 API 调用在技术上是“本地”的,代理也会重定向所有 http 和 https 流量。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。