WSO2 API Manager v4.2.0:Devportal与Publisher重定向至localhost问题求助
问题描述
安装WSO2 API Manager v4.2.0(基于WSO2 Carbon Framework v4.8.1)后,默认Carbon门户可正常访问,但访问Devportal或Publisher(如https://IP:9443/devportal)时,会被重定向至localhost的OAuth2授权地址。已参照官方v4.2版本指南配置但未解决,同时发现配置文件与文档版本不匹配,仍为旧版本格式。
此外,启动脚本api-manager.sh中多处引用wso2carbon.pid,执行重启操作时会报错,相关代码片段如下:
if [ -e "$CARBON_HOME/wso2carbon.pid" ]; then
135 PID=cat "$CARBON_HOME"/wso2carbon.pidelif [ "$CMD" = "stop" ]; then
209 export CARBON_HOME="$CARBON_HOME"
210 kill -termcat "$CARBON_HOME"/wso2carbon.pid
211 exit 0
212 elif [ "$CMD" = "restart" ]; then
213 export CARBON_HOME="$CARBON_HOME"
214 kill -termcat "$CARBON_HOME"/wso2carbon.pid
215 process_status=0
216 pid=cat "$CARBON_HOME"/wso2carbon.pid
修复方案
问题1:Devportal/Publisher OAuth重定向至localhost
- 修改核心配置文件中的主机地址:
- 编辑
<APIM_HOME>/repository/conf/deployment.toml:[server] hostname = "你的服务器IP或域名" [apim.devportal] url = "https://你的服务器IP或域名:9443/devportal" [apim.publisher] url = "https://你的服务器IP或域名:9443/publisher" - 编辑
<APIM_HOME>/repository/conf/identity/identity.xml:
找到<OAuth>节点下的<CallbackUrl>,替换localhost为你的服务器IP/域名。 - 编辑
<APIM_HOME>/repository/conf/identity/service-providers/DEFAULT.xml:
更新所有redirectURIs为正确地址,示例:<redirectURIs> <redirectURI>https://你的服务器IP或域名:9443/devportal/login</redirectURI> <redirectURI>https://你的服务器IP或域名:9443/publisher/login</redirectURI> </redirectURIs>
- 编辑
- 清理缓存:删除
<APIM_HOME>/repository/tmp和<APIM_HOME>/repository/work目录下的所有内容。 - 重启WSO2 APIM服务。
问题2:api-manager.sh PID文件报错
WSO2 APIM v4.2.0默认使用wso2apim.pid而非旧版的wso2carbon.pid,需修改脚本:
- 打开
<APIM_HOME>/bin/api-manager.sh,将所有wso2carbon.pid替换为wso2apim.pid。 - 保存后赋予脚本执行权限(若需要):
chmod +x api-manager.sh。 - 重新执行重启命令即可正常运行。
内容的提问来源于stack exchange,提问作者Thu Kha

