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

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

相关推荐
森语林溪3 小时前
大数据环境搭建从零开始(十四)CentOS 7 系统更新源更换详解:阿里云镜像源配置完整指南
大数据·linux·运维·阿里云·centos
AWS官方合作商3 小时前
AWS EC2实例重启后SSH/SFTP连接失败的全面排查指南
云计算·ssh·aws
yuxb734 小时前
LNMP部署及应用
笔记·云计算
chen_note8 小时前
Kubernetes1.23版本搭建(三台机器)
运维·容器·kubernetes·云计算·kubepi
@HNUSTer8 小时前
基于 GEE 的 MODIS 数据逐月植被覆盖度(FVC)计算与数据导出完整流程
云计算·数据集·遥感大数据·gee·云平台·fvc·modis
wanhengidc9 小时前
海外云手机是指什么
运维·服务器·游戏·智能手机·云计算
AWS官方合作商10 小时前
AWS Lambda的安全之道:S3静态加密与运行时完整性检查的双重保障
安全·云计算·aws
skywalk816313 小时前
阿里云服务器FreeBSD新系统从登录、配置到升级:从14.1升级到FreeBSD 14.3 Release
linux·服务器·阿里云·freebsd
boonya1 天前
ChatBox AI 中配置阿里云百炼模型实现聊天对话
人工智能·阿里云·云计算·chatboxai