阿里云ALB可编程脚本示例

官方文档

https://help.aliyun.com/zh/slb/application-load-balancer/user-guide/programmable-script/?spm=a2c4g.11186623.help-menu-27537.d_2_8.5b8a545dHf8mFR\&scm=20140722.H_328597._.OR_help-T_cn\~zh-V_1

需求背景

项目有两个端,分别是app端和web端,其中web端需要限制ip段范围,而app端必须对公网开放,因此无法使用ALB中的访问控制,无法满足现有需求。

因此觉得写一个可编程脚本,实现逻辑如下:

1.如果请求headers中有APP_PWD,代表是访问APP端的流量,则需要验证密码是否符合预期,如果符合则转发流量至后端

2.如果请求headers中没有APP_PWD,代表是访问Web端的流量,则需要验证ip是否在ip范围段内,如符合则转发流量至后端

3.不满足以上条件的情况,直接返回403页面

复制代码
if $http_APP_PWD {
    if ne($http_BOSCH_RBHP_APP_PWD, 'xsasxascLw7u') {
        exit(403)
    }
}

if not($http_APP_PWD) {
# 这里写具体的公网IP段,cidr自己想办法转换成正则表达式的形式,才能完成匹配
    if not(match_re($remote_addr, '^(127\.39\..*|127\.40\..*|)')) {
        exit(403)
    }
}

配置完成后自己去页面上试验下,访问应该能达到预期效果

相关推荐
狐571 小时前
2026-01-12-云计算速成课-期末复习
笔记·云计算·期末复习
白玉瑕2 小时前
云计算组成
云计算·dba
johnny_hhh2 小时前
Confluent 单节点部署配置
运维·阿里云·zookeeper·kafka·centos·数据可视化
狐572 小时前
2026-01-11-云计算总复习-期末复习
笔记·云计算·期末复习
DeepFlow 零侵扰全栈可观测2 小时前
DeepFlow 实践:利用 eBPF 实现覆盖从网关到数据库的全栈分布式追踪
网络·分布式·云原生·云计算
光于前裕于后3 小时前
在AWS Redshift 中使用数据共享 Data sharing
云计算·aws
China_Yanhy3 小时前
AWS Backup 核心操作与架构指南
架构·云计算·aws
十月南城3 小时前
微服务化的收益与成本复盘——技术、组织与运维维度的综合账本
运维·微服务·云计算
Yvonne爱编码3 小时前
边缘计算与云计算的协同发展:未来算力布局的核心逻辑
人工智能·云计算·边缘计算
翼龙云_cloud18 小时前
阿里云渠道商:如何使用弹性伸缩来实现计算资源的弹性配置?
服务器·阿里云·云计算