如何配置WSO2IS的PDP服务支持HTTP访问并取消HTTPS重定向?
绝对可以实现——既然是安全内网环境,完全可以去掉HTTPS强制重定向来加速PDP的交互。下面是一步步的配置修改指南:
1. 调整Tomcat连接器,关闭HTTPS重定向
打开<IS_HOME>/repository/conf/tomcat/catalina-server.xml,找到默认的HTTP Connector节点(通常是端口9763):
<Connector port="9763" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9443" maxHttpHeaderSize="8192" acceptorThreadCount="2" executor="tomcatThreadPool"/>
把redirectPort="9443"这一项删除或者改为redirectPort=""——这是阻止HTTP请求被自动重定向到HTTPS端口的关键。
2. 全局禁用HTTPS强制跳转
在<IS_HOME>/repository/conf/deployment.toml中添加或修改以下配置,确保全局层面不强制HTTPS:
[transport.http] enable = true redirect_to_https = false [transport.https] enable = false # 可选:如果完全不需要HTTPS服务,可以直接禁用
3. 更新PDP服务的端点配置
同样在deployment.toml里,找到授权服务的配置块,把PDP的服务URL改成HTTP协议:
[authorization.pdp] service_url = "http://<your-is-internal-ip>:9763/services/AuthorizationService"
替换<your-is-internal-ip>为WSO2 IS服务器的内网IP或主机名,确保其他服务能通过这个地址访问PDP。
4. 验证Axis2 HTTP传输配置(可选但推荐)
检查<IS_HOME>/repository/conf/axis2/axis2.xml,确保HTTP传输器是启用状态:
找到<transportReceiver name="http" class="org.apache.synapse.transport.nhttp.HttpCoreNIOListener">节点,确认它没有被注释掉,并且端口和Tomcat的HTTP端口一致。
最后一步:重启WSO2 IS服务器
所有配置修改完成后,重启WSO2 Identity Server,让配置生效。
测试验证
重启后,用curl或者浏览器访问PDP端点:
curl http://<your-is-internal-ip>:9763/services/AuthorizationService
如果能正常返回WSDL内容,没有被重定向到HTTPS,就说明配置成功了。
另外要注意:确保所有调用PDP的客户端服务也同步更新为HTTP协议的端点,避免调用失败。
内容的提问来源于stack exchange,提问作者Igor Bespalchuk

