我们面临的问题是我们的Java EJB3客户端位于防火墙之后,只允许传输流量到端口80.客户端与Glassfish服务器通信以进行EJB调用和JMS消息。因此,我们必须通过这个单一端口以某种方式指导所有流量(IIOP和JMS)。有人知道怎么做吗?
我们使用Glassfish 4.1作为服务器。我听说过JProxy,但现在似乎没有用。
理论上我们可以使用SSH端口转发,但这会绕过Glassfish身份验证。
答案 0 :(得分:0)
您好,从服务器端(即使您的问题是客户端),您可以通过管理控制台或编辑domain.xml来更改IIOP端口。
<iiop-service>
<orb use-thread-pool-ids="thread-pool-1"></orb>
<iiop-listener address="0.0.0.0" port="3700" lazy-init="true" id="orb-listener-1"></iiop-listener>
<iiop-listener address="0.0.0.0" port="3820" id="SSL" security-enabled="true">
<ssl classname="com.sun.enterprise.security.ssl.GlassfishSSLImpl" cert-nickname="s1as"></ssl>
</iiop-listener>
问题是您需要将IIOP流量传递到端口80,然后才能访问实际的远程服务器。我认为您需要检查创建SSL隧道的选项,请参阅here