在WSO2单个API Manager实例下发布不同端点的两个API可行吗?
单个WSO2 API Manager实例实现多端口API发布
当然可以!你完全不需要部署多个WSO2 API Manager实例就能实现这个需求——单个实例就搞定。下面是具体的实现步骤:
1. 配置网关监听多个HTTPS端口
首先要让APIM的网关(默认是Synapse网关)同时监听多个端口,我们需要修改APIM的主配置文件 <APIM_HOME>/repository/conf/deployment.toml:
添加额外的HTTPS监听器配置,示例如下:
# 原有默认HTTPS端口配置 [transport.https] port = 8243 sender_threads = 200 # 为API1添加专属端口监听器 [[transport.https.listener]] port = 8244 id = "api1-port-listener" # 为API2添加专属端口监听器 [[transport.https.listener]] port = 8245 id = "api2-port-listener"
保存配置后重启APIM服务,网关就会同时监听8243、8244、8245三个HTTPS端口了。
2. 为每个API绑定指定端口
接下来要给你的两个API分别绑定对应的端口:
- 登录WSO2 API Publisher,打开API1的编辑页面
- 切换到Runtime Configurations标签页,找到Transport设置项
- 选择我们刚才配置的
api1-port-listener(对应8244端口),保存配置后重新发布API - 用同样的方式,给API2绑定
api2-port-listener(对应8245端口)
3. 验证效果
完成上述配置后:
- API1只能通过
https://localhost:8244/API1访问 - API2只能通过
https://localhost:8245/API2访问
这种方式和多网关方案的区别在于:多网关是分布式部署独立的网关节点,而单个实例下的多端口监听是在同一个网关进程内实现端口隔离,资源共享,更适合小规模的端口专属需求。
内容的提问来源于stack exchange,提问作者Deepika
相关产品推荐
相关产品推荐

