当函数计算遇上白名单

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: 函数计算访问第三方服务时如何带上指定的外网地址。

实际上这个世界上没有好人和坏人,只有做了好事的人,和做了坏事的人。
——柴静《看见》

阿里云函数计算(Function Compute)是一个事件驱动的全托管 Serverless 计算服务。使用函数计算只需编写代码并上传,而无需管理服务器等基础设施,函数计算会准备好计算资源,并以弹性、可靠的方式运行代码。

不久前在一个项目上使用了函数计算,需要在函数计算中调用第三方服务,第三方服务有可能会对函数计算的地址进行白名单验证,但函数是通过弹性扩容的方式动态为函数分配计算资源的,因此无法提前预知访问第三方接口服务的IP地址,而且目前函数计算也没有像阿里云WEB应用防火墙一样提供回源地址清单,第三方接口需要的白名单IP要使用一些特殊手段来取得。

在阿里云函数计算的文档中的“场景案例”中有一个章节就是针对这种情况的,使用的是Nginx正向代理来代理函数计算的访问请求,这种通过Nginx的代理后,第三方服务看到的将是Nginx服务器的公网IP地址,这样就可以解决白名单的问题。

其中Nginx的配置如下:

server{

resolver x.x.x.x;
listen 8080;
location / {
    proxy_pass http://$http_host$request_uri;
}

}

其中resolver x.x.x.x;是DNS服务器的地址。
这样虽然能解决白名单的问题,但这个代理你能使用,别人也能用,这肯定不是你要看到的情况。解决的方案是对请求的目标主机名进行验证,只对目标第三方服务的请求进行代理,其余的请求一律拒绝。

Nginx服务器的配置如下:

server {
resolver x.x.x.x;
listen 8080;
location /{

if ( $http_host = ‘y.y.y.y’ ) {
  proxy_pass http://$http_host$request_uri;
  break;
}
return 403;

}
}

用一个或者多个条件判断对请求的http主机名进行验证,假如请求的是第三方服务则代理发送,否则请求将被拒绝。

解决了Nginx的盗用的问题,还有一个问题要解决,就是Nginx服务的可用性问题,这个问题可以通过负载均衡SLB和来解决,架构如下:

1.jpg

第三方服务的防火墙需要加两条地址,分别是两台Nginx服务器的公网IP。
2.jpg

上图中xx.xx.125.101和xx.xx.119.208是两台ECS的外网地址,可以将这两个地址提供给第三方加白名单,xx.xx.227.184是函数计算的地址,这个地址无法保证固定,不能用做白名单。

这里需要至少加两个IP,那么假如只能加一条地址怎么办?
这就需要对架构进行一些调整了,架构如下:

3.jpg

需要给函数计算增加VPC内网访问接口,访问在内网的SLB负载均衡和Nginx代理,Nginx代理服务器不配置公网IP而是通过NAT网关访问第三方接口。

为函数计算增加VPC访问接口需要进行访问授权,配置的方式是在函数计算的控制台打开服务配置。
4.jpg

点击修改,后可以看到网络配置,选择函数计算要对接的VPC和虚拟交换机。

5.jpg

在权限配置部分选择新建角色,并指定系统模版授权,选择
AliyunECSNetworkInterfaceManagementAccess ,并点击授权。

使用函数计算访问代理服务后,从阿里云弹性网卡控制台可以看到新增的ENI弹性网卡。

6.jpg

该弹性网卡地址虽然也是动态分配的,但地址范围仅限于指定的虚拟交换机内。

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
目录
相关文章
|
运维 关系型数据库 MySQL
Serverless 应用引擎产品使用合集之如何配置MySQL的白名单IP
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
运维 JavaScript Serverless
Serverless 应用引擎使用问题之将地址添加到了ES的白名单中,但仍然无法访问,该如何处理
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
开发框架 运维 NoSQL
函数计算产品使用问题之如何通过内网连接Redis,并开放白名单
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
107 0
|
运维 监控 关系型数据库
Serverless 应用引擎产品使用之在阿里云函数计算(FC)中,要访问另一个账号的rds配置rds的白名单如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
168 0
|
运维 安全 Serverless
Serverless 应用引擎产品使用之在Serverless 应用引擎中,在访问公网时,SAE会自动添加白名单如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
126 0
|
19天前
|
存储 人工智能 Serverless
函数计算进化之路:AI 应用运行时的状态剖析
AI应用正从“请求-响应”迈向“对话式智能体”,推动Serverless架构向“会话原生”演进。阿里云函数计算引领云上 AI 应用 Serverless 运行时技术创新,实现性能、隔离与成本平衡,开启Serverless AI新范式。
236 12
|
6月前
|
SQL 分布式计算 Serverless
鹰角网络:EMR Serverless Spark 在《明日方舟》游戏业务的应用
鹰角网络为应对游戏业务高频活动带来的数据潮汐、资源弹性及稳定性需求,采用阿里云 EMR Serverless Spark 替代原有架构。迁移后实现研发效率提升,支持业务快速发展、计算效率提升,增强SLA保障,稳定性提升,降低运维成本,并支撑全球化数据架构部署。
578 56
鹰角网络:EMR Serverless Spark 在《明日方舟》游戏业务的应用
|
4月前
|
存储 编解码 Serverless
Serverless架构下的OSS应用:函数计算FC自动处理图片/视频转码(演示水印添加+缩略图生成流水线)
本文介绍基于阿里云函数计算(FC)和对象存储(OSS)构建Serverless媒体处理流水线,解决传统方案资源利用率低、运维复杂、成本高等问题。通过事件驱动机制实现图片水印添加、多规格缩略图生成及视频转码优化,支持毫秒级弹性伸缩与精确计费,提升处理效率并降低成本,适用于高并发媒体处理场景。
229 0
|
14天前
|
人工智能 运维 安全
聚焦 AI 应用基础设施,云栖大会 Serverless AI 全回顾
2025 年 9 月 26 日,为期三天的云栖大会在杭州云栖小镇圆满闭幕。随着大模型技术的飞速发展,我们正从云原生时代迈向一个全新的 AI 原生应用时代。为了解决企业在 AI 应用落地中面临的高成本、高复杂度和高风险等核心挑战,阿里云基于函数计算 FC 发布一系列重磅服务。本文将对云栖大会期间 Serverless+AI 基础设施相关内容进行全面总结。
|
6月前
|
人工智能 开发框架 安全
Serverless MCP 运行时业界首发,函数计算让 AI 应用最后一公里提速
作为云上托管 MCP 服务的最佳运行时,函数计算 FC 为阿里云百炼 MCP 提供弹性调用能力,用户只需提交 npx 命令即可“零改造”将开源 MCP Server 部署到云上,函数计算 FC 会准备好计算资源,并以弹性、可靠的方式运行 MCP 服务,按实际调用时长和次数计费,欢迎你在阿里云百炼和函数计算 FC 上体验 MCP 服务。
540 30

热门文章

最新文章