可自托管的 PHP API 网关与管理平台,可将数据库和业务逻辑发布为 REST API,并支持 MCP 供 AI 代理调用。
membrane/api-gateway
开源 API 网关,同时支持 REST 与 SOAP,可将 SOAP 服务转为 JSON API 并提供 OAuth2、JWT 等安全能力。
- Star
- 658
- Fork
- 186
- 未关闭 Issue
- 45
- 最近提交
- 23小时前
这是什么?
Membrane 是一个用 Java 编写的 API 网关,部署在后端服务前面,负责路由、消息转换、安全防护和流量控制。它可以直接根据 OpenAPI 3.0 至 3.2 描述文件部署 API,并依据 OpenAPI、JSON Schema、XSD 和 WSDL 校验请求。网关可以以 Docker 容器或 Java 应用运行,无需数据库,配置使用 YAML 编写。
项目的一个重点是对接遗留系统。它能从 WSDL 生成 OpenAPI 规范,把 SOAP Web 服务暴露为 JSON 格式的 REST API,并借助 WSDL 中的 XML Schema 在 JSON 与 XML 之间转换。此外还支持 WS-Security 的 UsernameToken 与 XML 签名,并提供 MCP 保护插件和访问大模型提供商的 LLM 网关。
在安全与运维方面,Membrane 支持 API Key、OAuth2、JWT 校验、TLS、限流、负载均衡、Prometheus 指标和 OpenTelemetry 链路追踪。流程可以通过 Groovy 或 JavaScript 脚本、模板以及调用其他 API 的编排能力进行扩展。
核心功能
- 01可直接依据 OpenAPI 3.0、3.1 和 3.2 描述文件部署 API,并可选择开启请求校验。
- 02将 WSDL 描述的 SOAP 服务转换为 OpenAPI 和 JSON REST 接口。
- 03按 OpenAPI、JSON Schema、XSD 和 WSDL 校验消息。
- 04支持 API Key、OAuth2、JWT 和 WS-Security 认证。
- 05提供限流、负载均衡和 TLS 终止。
- 06输出 Prometheus 指标并支持 OpenTelemetry 链路追踪。
适用场景
- 在不改动后端的情况下,让现代 JSON 或 REST 客户端访问旧的 SOAP 服务。
- 通过 YAML 配置为已有 API 增加 OAuth2 或 JWT 保护。
- 在无数据库的容器环境中运行轻量级网关。
- 通过 MCP 或 LLM 网关控制 AI 智能体或大模型客户端可访问的工具与模型。
快速上手
- 1
以容器方式启动 Membrane
docker run --rm -it -p 2000:2000 predic8/membrane - 2
创建包含 README 中代理配置的 apis.yaml 文件
- 3
挂载 apis.yaml 并运行容器(Linux/macOS)
docker run --rm -p 2000:2000 -v "$(pwd)/apis.yaml:/opt/membrane/conf/apis.yaml" predic8/membrane
使用前须知
- 基于 Java 实现,若不使用 Docker 运行则需要配置 Java 环境。
收录于专题
标签
常见问题
- api-gateway 是什么?
- 开源 API 网关,同时支持 REST 与 SOAP,可将 SOAP 服务转为 JSON API 并提供 OAuth2、JWT 等安全能力。 Membrane 是一个用 Java 编写的 API 网关,部署在后端服务前面,负责路由、消息转换、安全防护和流量控制。它可以直接根据 OpenAPI 3.0 至 3.2 描述文件部署 API,并依据 OpenAPI、JSON Schema、XSD 和 WSDL 校验请求。网关可以以 Docker 容器或 Java 应用运行,无需数据库,配置使用 YAML 编写。
- api-gateway 可以免费使用吗?用的什么许可证?
- api-gateway 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- api-gateway 还在维护吗?
- 活跃维护中。api-gateway 最近一次提交是在 2026年11月6日。
- api-gateway 适合用来做什么?
- 在不改动后端的情况下,让现代 JSON 或 REST 客户端访问旧的 SOAP 服务。 通过 YAML 配置为已有 API 增加 OAuth2 或 JWT 保护。 在无数据库的容器环境中运行轻量级网关。 通过 MCP 或 LLM 网关控制 AI 智能体或大模型客户端可访问的工具与模型。
- api-gateway 怎么安装和运行?
- 以容器方式启动 Membrane: docker run --rm -it -p 2000:2000 predic8/membrane 创建包含 README 中代理配置的 apis.yaml 文件 挂载 apis.yaml 并运行容器(Linux/macOS): docker run --rm -p 2000:2000 -v "$(pwd)/apis.yaml:/opt/membrane/conf/apis.yaml" predic8/membrane
- 在哪里获取 api-gateway?
- 源代码和安装说明在 GitHub 上:https://github.com/membrane/api-gateway
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
开源跨平台 API 客户端,支持 GraphQL、REST、WebSocket、SSE 和 gRPC,可本地、Git 或云端存储。
基于标准 Python 类型提示构建 API 的 Python Web 框架,内置数据校验与自动生成的交互式文档。
设计优先的 Go 框架,从同一份 Go 契约生成 HTTP、gRPC 和 JSON-RPC 服务、客户端及 OpenAPI/protobuf 规范。
一个基于 JSDoc 注释实现类型安全校验、自动生成 OpenAPI 规范并支持 LLM 流式输出的 JavaScript API 框架。
开源 API 开发工具,支持 REST、GraphQL、WebSocket 等协议,提供网页、桌面和命令行版本。