没有合适的资源?快使用搜索试试~ 我知道了~
首页NCC2005+集群非法登录问题:IPv6与proxyserver信任机制解析
NCC2005+集群非法登录问题:IPv6与proxyserver信任机制解析
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 122 浏览量
更新于2024-08-18
收藏 521KB DOCX 举报
NCC2005+ WAS集群在使用IHS做负载均衡分发时,遇到非法登录问题。该问题源于NCC的安全机制,它依赖于`request.getRemoteAddr()`方法来获取客户端IP,但当通过IHS端口连接时,由于网络环境导致返回的是IPv6地址,而NCC系统无法正确解析IPv6,因此报出非法登录的错误。开发团队曾提供一个补丁,试图通过检查`request.headers`中的`$WSSN`来获取IP,但这种方法并不恰当,因为`$WSSN`实际包含了应用服务器的主机信息而非客户端IP。 实际上,`request.getRemoteAddr()`返回IPv6地址是因为服务器开启了IPv6支持。要解决问题,关键在于理解为何was9.0.0.11之后的版本在代理服务器分发请求时,会对代理服务器的信任度进行校验。只有当代理服务器在trustedSensitiveHeaderOrigin白名单内,was才会将客户端IP保留在`request.headers`中,否则NCC就无法获取到客户端的真实IP。 总结来说,非法登录问题的根源在于was服务器的配置策略,而非IHS本身。NCC2005+ WAS集群的所有项目都受到了这个问题的影响,因为它们依赖于was服务器提供的客户端IP信息,而这在某些特定情况下并未被正确地传递。解决此问题的方法需要调整was服务器的配置,确保代理服务器信任并正确地传递客户端IP,或者寻找其他途径来替代获取客户端IP的方式。这可能涉及到对was服务器配置的深入理解和调整,以适应IPv6环境下的网络通信需求。
资源详情
资源推荐
一、问题现象
NCC2005 Was 集群,使用 IHS 做分发,通过 IHS 端口登录 NCC 轻量端时会报“非法
登录”的错误,通过 server 具体端口则没问题。
二、问题原因
NCC 有个安全机制,要校验客户端 IP,代码中调用 request.getRemoteAddr 获取
客户端 IP,如果通过 IHS 端口登录 NCC,则 request.getRemoteAddr 返回的是 IPv6 地
址,如果直接通过 server 的具体端口登录 NCC,返回的是 IPv4 地址,NCC 无法解析
IPv6 地址,所以报非法登录的错误。
三、NCC 补丁的修改机制及存在的问题
对 于 这 个 问 题 , 开 发 给 过 一 个 补 丁 , 补 丁 修 改 方 法 是 在 校 验 出
request.getRemoteAddr 地 址不 合 法 时 , 从 request.headers 中的 $WSSN 去获取
IP,此补丁解决了很多项目报非法登录的问题。
实际上这个补丁处理方法是不对的,$WSSN 中获取到的是 host 信息,即应用服务器
的主机信息,NC 代码的本意是要获取客户端 IP,这个客户端 IP 在 NC 后续处理中很多地
方要用到。
如果通过一个域名去登录 NCC,那么$WSSN 中获取到的是主机的域名,NCC 解析不
了这个域名,也会报非法登录的错误。
而 request.getRemoteAddr 返回 IPv6 地址的原因是,这个方法返回的是应用服务
器的 IP 信息,很多服务器启用了 IPv6,所以返回了一个 IPv6 的地址。
综上所述,request 中就没有包含客户端的 IP 信息,所以这个问题无论如何都不能通
过修改代码解决,NCC2005 所有使用集群的项目都存在问题。
四、获取不到客户端 IP 的原因
从 was9.0.0.11 开始,was 的机制做了修改,如果请求是从 proxy server 分发过来
的 , 那 么 was 要 校 验 这 个 proxy server 是 否 可 信 , 只 有 proxy server 在
trustedSensitiveHeaderOrigin 这个属性中定义的可信 proxy server 列表中,才会认为是
可信的,如果不可信,那么 was 不会把客户端 IP 放进 request.headers 中,NCC 代码也就
无法从 request 中获取到客户端 IP。如果不是从 proxy server 分发过来的,则不会有这个
校验。这也就是通过 IHS 端口访问报错,而通过具体端口访问不报错的原因。
可以看出,这个问题不是 IHS 的问题,是 was server 的问题,即使不使用 IHS,使用
其他 proxy server,也会有同样的问题。
五、解决方案
解 决 方 案 是 在 每 个 server 的 Http Channel 中 增 加 一 个 定 制 属 性 ,
trustedSensitiveHeaderOrigin,值为 proxy server 的 IP,如果有多台 proxy server,可
以定义多个 IP,以逗号分开,为了处理简单,这个值也可以写成 *,即任何 proxy server
下载后可阅读完整内容,剩余5页未读,立即下载
sunminliy
- 粉丝: 0
- 资源: 42
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 十种常见电感线圈电感量计算公式详解
- 军用车辆:CAN总线的集成与优势
- CAN总线在汽车智能换档系统中的作用与实现
- CAN总线数据超载问题及解决策略
- 汽车车身系统CAN总线设计与应用
- SAP企业需求深度剖析:财务会计与供应链的关键流程与改进策略
- CAN总线在发动机电控系统中的通信设计实践
- Spring与iBATIS整合:快速开发与比较分析
- CAN总线驱动的整车管理系统硬件设计详解
- CAN总线通讯智能节点设计与实现
- DSP实现电动汽车CAN总线通讯技术
- CAN协议网关设计:自动位速率检测与互连
- Xcode免证书调试iPad程序开发指南
- 分布式数据库查询优化算法探讨
- Win7安装VC++6.0完全指南:解决兼容性与Office冲突
- MFC实现学生信息管理系统:登录与数据库操作
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功