Skip to content

如何安装穿透服务模块dp2router

Hopeshine edited this page Sep 30, 2020 · 18 revisions

穿透功能主要用于部署在没有公网IP的服务器,或者服务器网络不是完全开放的情况(有些单位由于保密性要求,服务器可以从Internet访问外部,但外部无法访问到服务器)。目的是让数字平台技术人员可以通过穿透功能访问到用户的服务器,便于了解服务器中的数据情况,进行系统维护。

特殊情况下,如果用户的工作局域网不在同一个网络,服务器也没有公网IP,也部署穿透功能,为馆员配置穿透账号以访问dp2Library。

穿透访问涉及的几个模块包含:dp2Libray,dp2Capo, dp2MServer,dp2Router,dp2内务前端。dp2内务等前端利用 dp2Router 穿透访问连接到 dp2mserver 的 dp2Libray服务器( dp2mserver通过dp2Capo来和dp2Libray桥接)。


一. 为dp2library打开相关协议

在用户的服务器上打开dp2Installer安装实用工具,点击菜单“dp2Library/配置实例",双击打开对应的实例,检查是否配置了rest协议。

由于router功能要求rest协议地址一定是rest结尾,basic协议一定要以basic结尾,所以当服务器没有配置这两种协议或者协议结尾不正确时,需要重新配置。

点击【协议绑定】右侧按钮【...】,打开【选择服务器通讯协议】页面,勾选【REST.HTTP】。rest协议的默认地址是 rest.http://localhost/dp2library/rest/实例名/ 形式,要改为rest.http://localhost/dp2library/实例名/rest/的形式。

如果需要使用basic.http协议,勾选 【BASIC.HTTP】,并将地址更改为basic.http://localhost/dp2library/实例名/basic/

改完后,点击【确定】按钮,从【协议绑定】文本框里面将rest或basic协议地址,以及net.pipe协议地址复制粘贴到一个记事本里面,以备后面配置需要时直接拷贝。

然后,一定要退出实例,并退出dp2Installer。不然后面验证时服务器无法相应。

二. 通过dp2capo配置【dp2Library服务器】和【dp2MServer服务器】

在dp2library所在的服务器上,通过chordInstaller安装工具配置dp2capo实例。安装好 chordInstaller (chord安装实用工具)后,点击菜单【dp2Capo】-【安装 dp2Capo】命令,安装 dp2Capo 模块。在复制完必要的程序文件以后,系统会弹出【安装dp2capo】对话框,这里所创建的每个实例负责和一个特定的 dp2library 和 dp2mserver 服务器连接。

点击【新建】按钮,系统弹出【一个实例】对话框,在对话框里面,我们需要依次配置如下参数:

【实例名】:每个实例需要有一个唯一的名字。可以沿用安装程序提供的默认名字,也可以修改为更合适的名字。对于多实例的情况而言,实列名最好是设置为方便辨识的名字。

【实例目录】:每个实例的配置信息存储在 dp2capo 数据目录下的一个专门的子目录中。这个目录名目前是安装程序自动确定的,界面上无法直接修改。

1.配置【dp2Library服务器】相关参数

点击【dp2Library服务器】右侧的【...】按钮,系统弹出【针对dp2Library的参数】对话框,这里需要配置【capo代理账户】、【消息队列】和【dp2Router】三个属性页的参数。

1.1【capo 代理账户】属性页参数设置

【dp2library 服务器的 URL】:需要填写所配置穿透的dp2Library服务器URL地址。可以利用部署dp2Lirary服务器的dp2Installer 模块中的相关功能查看获得;如果chordinstaller和dp2installer部署在同一台服务器电脑上,这是选择使用net.pipe协议速度会更快一些。

【代理账户的用户名和密码】:所谓代理账户,就是当 dp2capo 要针对上述 dp2library 服务器做某些管理操作的时候所需要的账户。这个账户应该在 dp2library 服务器中已经存在,或者在当前安装界面上临时创建,系统默认的用户名为capo。

用户可以通过点击“检测”按钮来检测这个代理账户是否存在,如果该账户不存在,可以点击“创建”按钮来创建,也可以通过“重设密码”来修改密码。

1.2 【消息队列】参数配置

点击【消息队列】文本框右侧的【获得】按钮,系统自动赋值即可。这样配置后,为穿透账户绑定手机号码后,手机才能收到短信验证码。

配置消息队列的前提是dp2library服务器上安装了MSMQ.

1.3【dp2router】属性页参数设置

【用于 dp2Router 的dp2library 服务器 URL】:这是一个 URL 列表,可以填写多行内容,每行一个 URL。由于 dp2Router 仅支持 Restful 和 basic.http 协议,所以需要在这里配置 dp2Capo 所连接的 Restful 或 basic.http 类型的协议 URL,这两种 URL 可以在 dp2Installer 里面查到。例如rest.http://localhost/dp2library/demo/rest/

:这里配置的多行 URL 都应该是同一个 dp2library 服务器(也是前面 dp2library 服务器参数指向的同一个服务器)的 URL,它们之间只是协议类型不同。如果需要配置basic.http协议,要注意这个协议的URL要修改成以basic结尾的形式。如同第一节所讲的步骤操作。

【在 dp2library 上创建 dp 账户】:dp2Router 穿透访问的时候,为了管理的方便,统一用 dp2library 服务器中一个名为 dp 的专用账户进行的,这账户就是在这里创建。

点击【在dp2library上创建dp账户...】按钮,在弹出的【确认】对话框上,输入超级管理员帐户和密码(需要图书馆老师们配合输入),点【确认】,然后弹出【创建dp账户】页面

【用户名】:输入dp; 【密码】:输入特定密码(咨询数字平台管理员)
【IP地址列表(每行一个)】:设置dp账户访问的前端电脑的出口IP地址,可以设置多个。设置后就只有这些IP地址下的前端电脑才能够用dp账户访问服务器,为的是加强账户的安全性管理。如果使用dp账户的前端电脑IP地址不固定,也可以输入*号,表示支持所有前端通过穿透地址登录。这样等于所有电脑都可以用dp来访问服务器了,失去了IP验证这层防护,这种情况下,可以给dp账户绑定特定的手机号码。具体绑定步骤请参考本文档第三节。

配置完毕点击下方【确定】按钮,再次点击下方【确定】按钮,返回实例管理页面。

2.配置【dp2MServer服务器】相关参数

点击【dp2MServer服务器】右侧的【...】按钮,系统弹出【针对dp2MServer的参数】对话框,【dp2MServer服务器】需要配置的有dp2MServer地址和capo_XXX帐户。

1)【dp2MServer服务器URL】:固定填写http://dp2003.com:8083/dp2MServer

2)【账户】项,需要创建一个形式为“capo_XXX”的帐户(这个账号一般是每个图书馆分配一个,由数字平台公司技术人员掌握,用户单位自己并不掌握)。capo_XXX账户存储于dp2MServer服务器上,用于连接dp2MServer和dp2Library。当dp2capo 启动起来后,它主动会去和 dp2003.com 服务器上的 dp2mserver 联系。这时候需要登录 dp2mserver 里面的这个账号。这个账户在后续的使用过程中一般感受不到,因为前端电脑都是用dp来登陆,不会涉及到这个账号。但是遇到特殊情况时,可以利用这个账号来管理dp2MServer和dp2Library之间的连接。

【用户名】:填写一个新的账户名,格式为:capo_XXX (这个用户名会是穿透登录地址的一部分)。创建时要根据用户名称修改XXX为具体的易于辨识的英文字母 【密码】和【再次输入密码】:输入该帐户的密码。

点击【创建】按钮,弹出“确认身份”页面,此时输入的dp2mserver服务器地址,管理员用户名和密码(管理员帐户信息请咨询数字平台服务人员)。然后点击【确定】按钮,弹出“请指定图书馆名”,输入 图书馆名称,点确定。最后弹出提示框【是否允许webCall(通过dp2Router访问dp2Library)?】,选择【是】,这时就给capo_XXX账户加上了webCall:router义务。

:如何通过管理capo_XXX账号来管理dp2MServer和dp2Library之间的连接--通过dp2内务固定面板【分享】界面访问dp2mserver来管理。

在dp2内务,先在【帮助】-【参数配置】-【消息】属性页,配置dp2mserver服务器url为http://dp2003.com:8083/dp2MServer,超级管理员帐号和密码请联系数字平台服务人员”)。

然后在固定面板的【分享】属性页,点击下方的【用户管理】,从弹出的【用户管理】对话框里,选择需要管理的账户名称,进行修改或配置。这里可以进行的配置包含:修改密码,修改权限,修改电话/群组/绑定等。如果某些capo_XXX未配置webCall:router权限,可以通过这里将其添加到【义务】栏里。

3)勾选【启用本实例的dp2MServer参数】

以上操作也可以参见文档dp2Capo 安装配置的“环境准备”、“利用 chordInstaller 安装 dp2Capo 模块”、“配置 dp2library 服务器参数”、“配置 dp2mserver 服务器参数”相关章节。

点击【确定】。退出【针对dp2MServer的参数】对话框,在【一个实例】对话框上,点击【确定】按钮。退出【一个实例】对话框。系统安装桥接模块,直至完成。

经过以上配置后,就可以在所绑定的IP上,通过dp2内务访问到dp2Library了

在dp2内务,登录时地址输入rest.http://dp2003.com:8888/capo_***/rest,输入dp账户和密码,即可进入。这里URL地址中的“capo_***”就是前面在【dp2MServer服务器】所创建的账户。

在【功能】-【系统维护】-【用户窗】,可以看到系统自动给dp帐号设置的权限有: order,searchreader,getreaderinfo,listbibliodbfroms,listdbfroms,getoperlog,getcalendar,getuser,changeuser,getsystemparameter,setsystemparameter,getres,writeres,managedatabase,getchannelinfo,managechannelwebCall:router权限在权限列表里面看不到

dp账户下【绑定】一栏设置为“ip:localhost,router_ip:”,,如果绑定的IP是的话,这里就显示为*;如果绑定了具体的某个IP,这里的router_ip:后面会显示所绑定的具体IP地址。比如ip:localhost,router_ip:223.64.14.125,表示当前所绑定的IP为223.64.14.125。

三. 为帐号增加绑定router_ip或手机号

如果要为dp账户绑定其他IP地址,可以通过上面1.3小节所讲,到dp2capo所在的服务器上去绑定(这样操作一般比较麻烦,因为需要远程到用户的服务器上),也可以采用dp账户登陆到dp2内务,在【用户窗】增加绑定;如果前端电脑的ip地址不固定,可以绑定手机号,登录时通过手机号接收短信验证码,输入验证码登录。手机号码也是在【用户窗】绑定。

采用dp账户登陆服务器后,进入【用户窗】,在“dp”账户下-【绑定】一栏,

增加绑定ip: 在router_ip:后面增加新的IP地址,每增加一个IP,前面先输入英文“|”号,后面输入IP地址。配置后格式为router_ip:ip地址1|ip地址2

增加绑定手机号码:在所绑定IP的后面,输入“|*sms,sms:手机号1|手机号2|*router_ip”,其中的“手机号1”,“手机号2”要换成具体的手机号码。

例如:router_ip:58.240.197.146|*sms,sms:1388888888|*router_ip表示当前dp账户绑定了一个IP,一个手机号码。

注:router_ip或手机号是“或”的方式,不一定都要配置,一般配置其一就可以。

四. 在前端内务测试通过穿透方式登录dp2library服务器

增加绑定IP或手机号码之后,需要对新绑定的IP或手机号码进行登陆测试。看看在新绑定的IP下是否正常登陆,绑定的手机号码是否可以收到验证码。

过程参考如何通过穿透方式访问dp2服务器

Clone this wiki locally