阿里云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)
    }
}

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

相关推荐
xingyuzhisuan10 小时前
算力租赁平台 GPU 资源隔离方案:显存抢占问题深度排查与解决
大数据·云计算·gpu算力
workbuddy小能手16 小时前
腾讯云ADP Agent Portal vs 自建智能体:架构选型对比
架构·云计算·腾讯云
宸津-代码粉碎机19 小时前
Spring AI 企业级实战|智能记忆摘要+自动遗忘机制落地,彻底解决上下文爆炸与Token冗余
java·大数据·人工智能·后端·python·spring·云计算
tiancaijiben20 小时前
阿里云Elasticsearch搭建网站站内搜索功能:从零到生产级实战指南
云计算
tiancaijiben20 小时前
阿里云Linux云服务器搭建Joomla基础管理平台:从零到企业级部署
云计算
翼龙云_cloud20 小时前
阿里云代理商:如何管理CPFS的POSIX客户端挂载点?
运维·阿里云·云计算·阿里云 cpfs
xingyuzhisuan21 小时前
8 卡 / 16 卡 GPU 服务器机架布线与高速互联带宽优化技术详解
运维·服务器·云计算·gpu算力
tiancaijiben21 小时前
阿里云云消息队列RabbitMQ版配置流程:从实例创建到消息收发全解析
云计算
AI原来如此21 小时前
阿里云百炼上线DeepSeek,OpenAI发布GPT-5.5,模型服务战升级
人工智能·gpt·阿里云·ai·大模型·ai编程