WSO2双节点部署下TOTP二次登录URL附加9443端口问题求助
解决WSO2 TOTP登录URL附加9443端口的问题
1. 配置WSO2识别前端代理端口与协议
WSO2服务需要感知外部暴露的端口和协议,避免生成带内部9443端口的URL。修改<WSO2_HOME>/repository/conf/deployment.toml:
[transport.https.properties] proxyPort = 443 [server] hostname = "你的负载均衡器域名" [transport.https] server_url = "https://${carbon.hostname}:${proxyPort}/services/"
2. 调整Apache2反向代理配置
确保Apache转发请求时传递正确的头信息,让WSO2识别真实外部地址。在Apache虚拟主机配置中添加:
ProxyPass / https://localhost:9443/ ProxyPassReverse / https://localhost:9443/ RequestHeader set X-Forwarded-Proto "https" RequestHeader set X-Forwarded-Port "443" ProxyPreserveHost On
ProxyPreserveHost会保留客户端请求的Host头,WSO2将基于此生成正确的外部URL。
3. 修正认证端点的URL配置
修改<WSO2_HOME>/repository/deployment/server/webapps/authenticationendpoint/WEB-INF/web.xml,确保IdentityServerURL指向负载均衡器的外部地址,而非内部端口:
<context-param> <param-name>IdentityServerURL</param-name> <param-value>https://你的负载均衡器域名</param-value> </context-param>
清理浏览器缓存,同时删除WSO2的临时缓存目录<WSO2_HOME>/repository/tmp和<WSO2_HOME>/repository/work下的内容,避免旧配置缓存干扰。
4. 检查负载均衡器端口映射
确保负载均衡器将外部443端口转发到后端节点的Apache 443端口,而非直接指向WSO2的9443端口。同时确认负载均衡器保留Host、X-Forwarded-Proto、X-Forwarded-Port等请求头,保证后端服务能获取真实访问地址。
内容的提问来源于stack exchange,提问作者Shubhra Paul
相关产品推荐
相关产品推荐

