gpt4 book ai didi

security - Google Spreadsheets 上的 UrlFetchApp.fetch 无法连接 AWS 后端 Web 服务

转载 作者:行者123 更新时间:2023-12-02 16:48:07 25 4
gpt4 key购买 nike

我们在 AWS 上有一个 EC2 实例,我们将后端服务部署到其中。我们首先使用 Google 电子表格(使用 Google Apps 脚本编写)通过部署在我们服务器上的网络服务来展示我们的后端。我们有一个特定的端口,其中 https(使用自签名证书)协议(protocol)用于在飞行时提供加密的 Web 服务。我们设置了安全组(基本上是一个防火墙条目组),其中包括针对我们的 Web 服务的特定入口端口的以下 CIDR 范围:

64.18.0.0/20 
64.233.160.0/19
66.102.0.0/20
66.249.80.0/20
72.14.192.0/18
74.125.0.0/16
173.194.0.0/16
207.126.144.0/20
209.85.128.0/17
216.58.192.0/19
216.239.32.0/19

https://developers.google.com/apps-script/guides/jdbc#setup_for_google_cloud_sql 中所述

此设置直到 5 天前都运行良好。然后奇怪的事情发生了。当我们从“脚本编辑器”代码运行电子表格后面的脚本时工作正常并且对我们的网络服务的请求成功返回。但是,当通过菜单项调用完全相同的代码时,它没有执行任何操作。经过长时间令人沮丧的调查,我们发现请求甚至没有到达我们的服务器(还有许多其他奇怪的症状,例如“执行记录”上只有最后一个日志命令可见,尽管应该有许多其他命令)。然后我们尝试用接受任何 ip 但到特定端口的规则替换安全组,一切都再次正常工作。

以下是 google-apps-script-issues 页面中看似相关问题的链接: https://code.google.com/p/google-apps-script-issues/issues/detail?id=4679#c8

我们跑了tcpdump tcp port <port> -i eth0 -vv并观察到,当我们从“脚本编辑器”运行代码时,请求是从 66.102.7.156 发出的。 (以及类似的 ip,位于 66.102.0.0/20 中),当从电子表格中的菜单项调用代码时,请求是从 72.14.199.55 发出的。 (以及类似的 ip,位于 72.14.192.0/18 中)。这似乎是有问题的 IP 范围。

我的问题是,为什么当请求源正确包含在防火墙规则中时,一组 ip 不起作用,并在解除对端口的 ip 限制时开始工作(源 ip 0.0.0.0/0 )?是AWS安全组的bug吗?还是我们做错了什么?此外,如果我们的方法在任何方面都不够充分,我们将非常感谢替代解决方案或建议。

最佳答案

根据 issues您链接到的Apps脚本中有一个错误导致了这种行为。该错误现已修复。

关于security - Google Spreadsheets 上的 UrlFetchApp.fetch 无法连接 AWS 后端 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29617918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com