【发布时间】:2022-03-30 20:47:31
【问题描述】:
我有一个 Glassfish 4 服务器,其部署的应用程序在 xubuntu 12.04 上运行,无法通过 ejb 客户端远程访问。我可以访问本地 glassfish 服务器。我看过太多论坛,他们解释说这是 linux 中的 glassfish 'bug',在本地搜索主机名等。所以,给定的解决方案是在 /etc/hosts 中添加 IP 和主机名在 Linux 上。这是我的服务器“myserver”上的 /etc/hosts:
127.0.0.1 localhost locahost.localdomain localhost4 localhost4.localdomain4 # I saw this line on internet
192.168.1.100 myserver
但是客户端无法访问myserver。这是我在 myserver 计算机上的设置:
IP LAN of my server (fixed): 192.168.1.100
Hostname: myserver
IP WAN : (dinamyc)
domain name: mydomain.org
在我的路由器中,我打开了端口 3700 和 4848,并将 IP 从 WAN 转发到 myserver 的 LAN IP。此外,每当更改我的 IP WAN 时,我的路由器都会更新我的 DynDNS 帐户。 我要补充一点,我在端口 8080 (BarracudaDrive) 上配置了一个 NAS 服务器,我直接从浏览器访问:http://mydomain.org
我将 glassfish 配置为远程管理,我可以通过互联网毫无问题地做到这一点:http://mydomain.org:4848 此外,我使用以下设置修改(遵循另一种解决方案)glassfish IIOP 侦听器:
network address: 192.168.1.100 (which could also put 'myserver')
listener port: 3700
listener: enabled
Glassfish 启动成功。
从 Windows 7 计算机上的客户端远程连接到服务器,如下所示:
props.setProperty(Context.INITIAL_CONTEXT_FACTORY, "com.sun.enterprise.naming.SerialInitContextFactory");
props.setProperty("org.omg.CORBA.ORBInitialHost", "mydomain.org");
props.setProperty("org.omg.CORBA.ORBInitialPort", "3700");
....
lookup = context.lookup("beanName");
context.lookup 冻结“消失”很长一段时间,直到我不得不手动终止应用程序。
我还尝试向系统添加客户端-服务器配置: System.setProperty("org.omg.CORBA.ORBInitialHost", "mydomain.org");
什么都没有。
我还尝试在 Windows 上的 /etc/hosts 中添加“myserver”的 IP WAN (xx.yyy.aaa.bbb)(虽然 WAN IP 是动态的,但我想试试它是否有效) xx.yyy.aaa.bbb myserver
添加后,我还尝试了 'props.setProperty("org.omg.CORBA.ORBInitialHost", "myserver");'
什么都没有。
如果我关闭 glassfish 服务器,“context.lookup”,大约 1 分钟后,返回一个“org.omg.CORBA.COMM_FAILURE:详细:00,410,001:连接失败:SocketType:IIOP_CLEAR_TEXT;主机名:我的服务器,端口:3700 ...... etc ',我猜这是正确的。
它不起作用。如果我将 url:mydomain.org:3700 放在 chrome 浏览器中,然后下载一个包含“GIOP”和一些奇怪字符的文件,它告诉我域和端口正在工作。 Wireshark 软件显示我的本地 WAN IP 和 myserver 的远程 IP 之间存在对话,虽然我不知道如何破译对话。
最后,我将 glassfish 服务器的相同 jar 复制到客户端,如果版本有任何差异。
什么都没有。这没用。 我已经读过EJB remote application-client 和Unable to do a remote ejb access from a different host 还有……等等。
请帮帮我..!!!
【问题讨论】:
-
我认为您会发现使用 VPN 或 SSH 隧道更容易。
-
请您再解释一下好吗?
标签: ejb-3.0 glassfish-4