导读
外网映射:SAP与Successfactors数据集成主要分三类,一类是ptp、一类是cpi、一类是自定义开发,PTP的两个系统都是在外网,所以不涉及网络映射的问题,另外两类都涉及到内网到外网的情况,今天分享是是提示SSL证书问题,实际是网络授权的问题。
作者:vivi,来源:osinnovation
1 故事背景
从泰国回来,忽然接到一个case就是SAP无法抽取SF的数据,正好在泰国的时候也遇到一个客户的问题,说sap无法抽取数据,当时看是提示就是证书的问题,于是更新CPI的证书到SAP系统,系统就没有报错,开始我以为这个客户也是相同的问题,所以也导入证书,但是还是提示SSL错误。因为是生产环境,所以也不好导入其他证书。

2 分析问题
因为生产环境管理很严格,什么权限都没有,所以很多问题无法判断,遇到这个问题其实第一步还是smicm把日志级别调整成2,详细看看报错的原因,经过和basis协商,终于给我把级别调整成2,查看日志发现日志中有一个信息ssslrc_conn_close(-10),看到这个反应就是网络可能关闭,内网的消息无法发送出去,从内网到外网一般有这么几种方式:方式一通过代理,有一台代理服务器,可以访问外网也能访问内网,S4发出消息的时候不直接发外网,而是先到这个代理服务器,然后通过代理服务器到外网,另外一个方式是开放白名单,运行S4访问外网特定的IP。初步判断使用的是方式二,所以就要去和网络的人沟通,是否防火墙限制访问CPI系统。经过网络同事定位发现,CPI的是信任的,cpi是云系统,所以没有固定的IP只有一个ip范围,然后查到的是范围121.91.109.0/24,每个服务中心不一样。现在陷入死胡同,一边是无法访问,一边是已经开通。

遇到这样的情况应该如何处理,首先可以先设置一个SM59,我们直接连接CPI的服务器,如果sm59能通说明网络没问题。但是发现还是不能连接外网,提示网络不通,所以到这步就能确定是网络的的问题,但是如何证明是网络的问题。


于是乎找另外一个已经配置CPI的环境,我去配置下SM59,如果能通就是网络的问题。后来发现另外一个环境SM59没问题,cpi也能收到一个错误的消息。但是网络的同事还是说没问题。这个又尴尬啦。


这个时候只要找SAP站台拉。给SAP发送ticket说明问题,经过SAP的分析,也是说防火墙设置问题,然后给一个note,通过note描述发现和系统的SMICM是一样的描述。然后把SAP返回的消息给网络同事看,还是说没问题。问题似乎又陷入死局。后来想到在去年在学校涉及的一些网络指令。一个是telnet的命令,发现果然不通,一般这个命令需要在OS环境执行,SAP程序中有个程序可以执行linux,程序名字RSBDCOS0
错误的样式

正确的样式

这个时候才定位发现,因为SAP系统有5个节点,其中有一个节点没有开放外网访问的权限,导致系统的消息无法发送出去。如果服务器没有安装telnet,还可有用用一个开源的工具curl去测试网络是否通。测试结果如下:这个工具是java,所以需要配置环境变量,具体操作可以参考其他文档。
