Api-Umbrella
一、 Linux系统安装限制:
CentOS / RedHat / Oracle / Scientific Linux
系统版本限制:6或7(本文安装环境是CentOS 7)
一、 安装:
1. 发起网络请求,下载软件安装配置文件并将其写入指定文件中:
curl https://bintray.com/nrel/api-umbrella-el7/rpm | sudo tee /etc/yum.repos.d/api-umbrella.repo
注:若系统版本是6,需将请求链接中的“el7”改成“el6”
2. 根据配置文件下载安装:
sudo yum install api-umbrella
注:y(下载安装),d(只下载),N(放弃安装)
3. 启动服务:
sudo /etc/init.d/api-umbrella start
4. 查询IP地址:
5. 关闭防火墙
关闭防火墙服务:systemctl stop firewalld.service
关闭防火墙自启动:systemctl disable firewalld.service
注:默认80端口
二、 基础应用
1. 登录后端管理员:
注:首次登录会设定admin 账号与密码。密码默认14位,请牢记密码,可能无法找回。
2. 配置api后端
选择下拉菜单【Configuration】选择【API Backends】
点击右上方添加api【Add API Backend】
编辑api参数
a) Api名称:定义一个Api名称;
b) 协议:支持http协议与https协议;
c) 监听服务器:写明服务器地址与端口
d) 前后端服务器地址:前端默认api-umbrella所安装的服务器,后端默认监听服务器。这个参数一般不用改;
e) 匹配条件:
Frontend Prefix:前端前缀。前端服务器匹配规则,原则上可随便配置,但必须保证唯一性且不能互相包含;
Backend Prefix:后端前缀。后端服务器匹配规则,也就是api实际调用的路径。
f) 保存:api保存后需要发布才会生效。
3. 注册用户的api_key
a) 直接访问地址自行注册:
b) 由管理员注册:
注:邮箱(必须符合正则表达式)、姓名可随便填写,但必须非空。接着勾选同意条款即可。Api key发给需要调用api的用户,调用接口时当参数进行传输。
4. 调用接口
注:调用链接必须含有前端服务器配置的映射规则,除了接口本身的参数外还需要加一个【api_key】参数(如果要把key放到header里,需要改成“X-Api-Key”),用于统计某个用户的调用api数据。
5. 查看统计数据
可根据用户查询调用数据。
三、 进阶使用
1. Api匹配优先级
在api后端点击右下角【Reorder】后鼠标按住列表最后一列进行拖放,接着点击【Done】,最后再发布即可。
2. 设置全局变量之追加固定参数
该参数不需要前端书写,api-umbrella将自动追加到匹配地址后发送给后端服务器。该参数前端无法查看,可用于传输私密性的固定参数。
3. 设置全局变量之访问协议
默认api-umbrella所部署的api都必须以https的方式访问,选择【optional】后将同时支持http访问。
4. 设置全局变量之api key校验
默认必须校验,以确保访问api是api-umbrella内的合法用户。
5. 设置全局变量之api所需权限
目前api-umbrella所能分派的权限为【api-umbrella-contact-from】【api-umbrella-key-creator】,
用户必须拥有同等权限才可以访问。
6. 设置全局变量之api速率限制
默认速率是1000个/小时,可设置无限或者自定义。若设置了速率,在响应头部信息中可查看。
7. 设置全局变量之覆盖响应头部信息
8. 高级设置
Balance Algorithm:负载均衡模式选择(最少连接数、轮询、哈希算法)
Error Templates:配置错误模板
Error Data :配置错误数据信息
注:在配置错误模板与错误信息时,先点击蓝色问号,复制原先模板,再在其模板上更改,原模板大括号内的数据是原先模板所返回的数据。
9.更改监听端口
打开配置文件:
vim /etc/api-umbrella/api-umbrella.yml
添加自己想要的端口后退出保存,并重启服务
sudo /etc/init.d/api-umbrella reload
注:以上配置的8090需要防火墙开放相应端口或者关闭防火墙,而8443这个https端口可直接访问,8090最终也是跳转到8443。
apikey如果放在header需要改成【X-Api-Key】
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤