无法通过Google Cloud功能中的VPC连接器通过私有IP地址访问http服务

问题描述

我有一个在计算实例中运行的服务,可以使用这样的私有IP地址进行访问(https://172.31.93.233/proxy.php)。我想从云功能发出https请求以访问此服务,所以我创建了一个IP地址范围为172.30.0.0/16的VPC连接器(IP范围:172.31.0.0/28),并且该连接器具有Ingress设置(允许所有流量)和出口设置(通过VPC连接器路由所有流量)。但是我的函数以某种方式无法完成请求,并在日志中指出:“函数执行耗时60002毫秒,状态为:“超时” VPC和功能都在同一区域(us-central1)

其他附加信息: 实际上,主要的https服务部署在AWS端,并且我正在使用Site to Site VPN b / w AWS to GCP来通过GCP访问此服务。我可以确认可以在与VPN连接的同一VPC上的GCP计算实例上访问此服务。

我在创建功能时通过Web控制台创建了无服务器连接器。在IAM中,我可以看到以下服务帐户权限:

1::无服务器VPC访问服务代理(无服务器VPC访问管理,无服务器VPC访问服务代理)

2 :Google云功能服务代理(云功能服务代理,无服务器VPC访问管理员)

3 :我自己的帐户,来自我的GCP测试功能(编辑者,所有者,无服务器VPC访问管理员)

还有其他服务帐户,但我认为它们与测试功能等无关或有趣。

这是我的示例功能代码:

var http = require('https');
exports.helloWorld = (req,res) => {
  http
        .get('https://172.31.93.233/proxy.php?api=catalogos_direcciones',resp => {
            let data = ''
            resp.on('data',chunk => {
                data += chunk
            })
            resp.on('end',() => {
                let peopleData = JSON.parse(data)
                console.log(peopleData);
                res.status(200).json(peopleData);
               
            })
        })
 
};

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...