DIIOP_IOR.TXT 中的端口 0,如何更改?
Posted
技术标签:
【中文标题】DIIOP_IOR.TXT 中的端口 0,如何更改?【英文标题】:Port 0 in DIIOP_IOR.TXT, how do I change it? 【发布时间】:2015-07-17 06:35:05 【问题描述】:我正在尝试使用独立的 Java 程序远程登录 Domino。
我在类路径中有 ncso.jar
(和 TrustedCerts.class)。
DIIOP_IOR.TXT
文件由 diiop 任务生成。如果我将文件内容直接复制到我的程序中并尝试像这样创建会话:
String ior = "IOR:....." // 404 bytes
Session session = NotesFactory.createSessionWithIOR(ior, "username", "password");
结果是:
org.omg.CORBA.COMM_FAILURE: java.net.ConnectException: connect: Address is invalid on local machine, or port is not valid on remote machine Host: poseidon.heeros.com Port: 0 vmcid: 0x0 minor code: 1 completed: No
服务器名称有效,但端口 0 看起来很奇怪。我在http://www2.parc.com/istl/projects/ILU/parseIOR/ 尝试了一个在线解码器,结果如下:
object key is <#048525651a-ec68-106c-eee0-007e2d2233b5#00LotusNOI#01#00#01>;
no trustworthy most-specific-type info; unrecognized ORB type;
reachable with IIOP 1.1 at host "poseidon.heeros.com", port 0
...这似乎证实了端口不正确。我已经用 IIOP 站点文档在 Internet 站点中指定了服务器 URL,但那里没有端口字段。
问题:
diiop_ior.txt
中出现的端口在哪里设置?
我应该指定哪个端口? (我猜是 1352)
编辑
这是服务器上tell diiop show config
的结果:
Dump of Domino IIOP (DIIOP) Configuration Settings
Full Server Name: CN=Afrodite/O=Heeros
Common Server Name: Afrodite/Heeros
Refresh Interval: 3 minutes
Host Full Name: poseidon.heeros.com
Host Short Name: poseidon
Host Address: 10.163.0.146
Public Host Name/Address: poseidon.heeros.com
TCP Port: 0 Disabled
SSL Port: 63149 Enabled
Initial Net Timeout: 120 seconds
Session Timeout: 60 minutes
Client Session Timeout: 62 minutes
Allow Ambiguous Names: True
Web Name Authentic: False
User Lookup View: ($Users)
Allow Database Browsing: False
Internet Sites: Enabled
Internet Site Name: Heeros
Site Config Loaded from: Domino IIOP and Web Internet Site documents
Site is Default: False
Site Public Host Name/Address: poseidon.heeros.com
Site IOR File: D:\Lotus\Domino\data\domino\html\diiop_ior.txt
Site SSL Key File: D:\Lotus\Domino\data\heeros.kyr
Site Java Key File: D:\Lotus\Domino\data\domino\java\TrustedCerts.class
Site TCP Name/Password Allowed: False
Site TCP Anonymous Allowed: False
Site SSL Name/Password Allowed: True
Site SSL Anonymous Allowed: True
Site Multi-Server Session Authentication: Enabled
Site Multi-Server Session Configuration: LtpaToken
Single Server Cookies: Disabled
【问题讨论】:
你好@LauriLaanti 你能帮我一个忙并测试你的 diiop 连接是否真的加密了吗?请参阅下面的答案。 【参考方案1】:看来正确的端口号是63148。必须在Server Document中的Ports --> Internet Ports --> DIIOP中指定为“TCP/IP端口号”。
此外,在 IIOP 站点文档中,必须允许 TCP 身份验证。
【讨论】:
【参考方案2】:根据我的经验,DIIOP 根本不使用 SSL/TLS。只有 DIIOP_IOR.TXT
是通过 SSL/TLS 下载的。使用 Wireshark 或类似工具捕获您的网络流量并监控:port 63148 or port 63149
。 @lauri-laanti:如果连接是用wireshark加密的,你能在你的环境中测试一下吗?
Wireshark 我们的输入:GIOP createSession 与用户名和密码(用 X 空白)
0000 00 50 56 69 f5 2b 00 50 56 c0 00 02 08 00 45 00 .PVi.+.PV.....E.
0010 00 c0 0d 06 40 00 80 06 bb ca c0 a8 58 01 c0 a8 ....@.......X...
0020 58 15 d2 e0 f6 ac ef b6 47 e8 13 10 53 10 50 18 X.......G...S.P.
0030 01 00 29 bb 00 00 47 49 4f 50 01 00 00 00 00 00 ..)...GIOP......
0040 00 8c 00 00 00 00 00 00 00 05 01 00 00 00 00 00 ................
0050 00 31 04 38 35 32 35 36 35 31 61 2d 65 63 36 38 .1.8525651a-ec68
0060 2d 31 30 36 63 2d 65 65 65 30 2d 30 30 37 65 32 -106c-eee0-007e2
0070 64 32 32 33 33 62 35 00 4c 6f 74 75 73 4e 4f 49 d2233b5.LotusNOI
0080 01 00 01 00 00 00 00 00 00 0e 63 72 65 61 74 65 ..........create
0090 53 65 73 73 69 6f 6e 00 00 00 00 00 00 00 00 00 Session.........
00a0 00 01 00 00 00 00 00 00 00 01 00 00 00 0f 00 00 ................
00b0 00 06 00 61 00 64 00 6d 00 69 00 6e 00 00 00 00 ...a.d.m.i.n....
00c0 00 06 00 XX XX XX XX XX XX XX XX XX XX 00 ...XXXXXXXXXX.
使用的Java代码:
_diiop_args = new String[]"-ORBEnableSSLSecurity", "-HTTPEnableSSLSecurity";
String ior = NotesFactory.getIOR(_diiop_host + ":" + _diiop_port,
_diiop_args, _user_name, _user_pass);
_session = NotesFactory.createSessionWithIOR(ior, _user_name, _user_pass);
【讨论】:
以上是关于DIIOP_IOR.TXT 中的端口 0,如何更改?的主要内容,如果未能解决你的问题,请参考以下文章
如何更改LINUX中的PublishingWebAgent FileDeploymentServer端口更改
如何在 jboss 版本 jboss-5.1.0.GA 上更改端口