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

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

相关推荐
小白考证进阶中4 小时前
阿里云认证重要通知(Clouder+ACX职业岗位)
阿里云·云计算·阿里云acp报名·阿里云acp备考·阿里云aca证书·阿里云aca大模型·阿里云aca报名
spider_xcxc6 小时前
告别单点故障:阿里云CLB负载均衡从入门到实战
阿里云·云计算·负载均衡
hz567899 小时前
电子远程评标系统哪家好?安全、合规、易用平台评测指南
安全·云计算·音视频·实时音视频·信息与通信
翼龙云_cloud11 小时前
腾讯云代理商: 腾讯云qGPU怎么破解算力浪费难题?
云计算·腾讯云·qgpu
Database_Cool_14 小时前
内存数据库持久化方案:阿里云 Tair 持久内存型数据不丢失
数据库·阿里云
阿乔外贸日记16 小时前
意大利进口主力产品及主要合作供应国
大数据·人工智能·物联网·搜索引擎·云计算
云服务器代理商16 小时前
AWS Bedrock 指南:模型接入、Knowledge Base RAG、Agents 与计费方式
云计算·aws·亚马逊云服务器·aws bedrock·aws代理·亚马逊云代理商
spider_xcxc16 小时前
阿里云NAS配置完全指南:从概念到实战
阿里云·云计算
我登哥MVP18 小时前
Hadoop成长史-从Nutch子项目到大数据生态王者
java·大数据·hadoop·分布式·云原生·云计算