[jboss-jira] [JBoss JIRA] (WFLY-4769) WildFly 8 and 9. Connecting to topic using http-remoting and JNDI fails when server is behind NAT firewall

Jeff Mesnil (JIRA) issues at jboss.org
Tue Apr 19 10:39:00 EDT 2016


    [ https://issues.jboss.org/browse/WFLY-4769?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13193843#comment-13193843 ] 

Jeff Mesnil commented on WFLY-4769:
-----------------------------------

The http-connector will use the host that the Undertow HTTP server is bound to.

By default, the Undertow HTTP server is bound to the loopback address.
You can change it by changing the inet-address of the public interface that is used by the http socket-binding:

{noformat}
<interface name="public">
  <inet-address value="${jboss.bind.address:127.0.0.1}"/>
</interface>
{noformat}

Note that you can do that without changing the configuration by using a system property when starting WildFly:

./bin/standalone.sh -c standalone-full.xml -Djboss.bind.address=xxxxx

where xxxx is the public address of your server



> WildFly 8 and 9. Connecting to topic using http-remoting and JNDI fails when server is behind NAT firewall 
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: WFLY-4769
>                 URL: https://issues.jboss.org/browse/WFLY-4769
>             Project: WildFly
>          Issue Type: Bug
>          Components: JMS
>    Affects Versions: 8.2.0.Final, 9.0.0.CR1, 10.0.0.Final
>         Environment: RedHat7
>            Reporter: George Turner
>            Assignee: Jeff Mesnil
>
> Server is behind NAT firewall.  Client code:
> Properties topicProperties = new Properties();
> topicProperties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.remote.client.InitialContextFactory");
> topicProperties.put(Context.PROVIDER_URL, "http-remoting://" + host + ":" + port);
> InitialContext ctx = new InitialContext(topicProperties);
> ConnectionFactory tmp = (ConnectionFactory) topicCtx.lookup("jms/RemoteConnectionFactory");
> connection = tmp.createConnection();
> Jun 11, 2015 8:26:07 AM org.xnio.Xnio <clinit>
> INFO: XNIO version 3.3.1.Final
> Jun 11, 2015 8:26:07 AM org.xnio.nio.NioXnio <clinit>
> INFO: XNIO NIO Implementation Version 3.3.1.Final
> Jun 11, 2015 8:26:07 AM org.jboss.remoting3.EndpointImpl <clinit>
> INFO: JBoss Remoting version 4.0.9.Final
> javax.jms.JMSException: Failed to create session factory
>   at org.hornetq.jms.client.HornetQConnectionFactory.createConnectionInternal(HornetQConnectionFactory.java:673)
>   at org.hornetq.jms.client.HornetQConnectionFactory.createConnection(HornetQConnectionFactory.java:112)
>   at org.hornetq.jms.client.HornetQConnectionFactory.createConnection(HornetQConnectionFactory.java:107)
>   at com.lmco.spacefence.netcentric.test.client.TestMessageConsumer.<init>(TestMessageConsumer.java:36)
>   at com.lmco.spacefence.netcentric.test.client.TestMessageConsumer.main(TestMessageConsumer.java:24)
> Caused by: HornetQNotConnectedException[errorType=NOT_CONNECTED message=HQ119007: Cannot connect to server(s). Tried with all available servers.]
>   at org.hornetq.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:905)
>   at org.hornetq.jms.client.HornetQConnectionFactory.createConnectionInternal(HornetQConnectionFactory.java:669)
>   ... 4 more
> Disconnected from the target VM, address: '127.0.0.1:54275', transport: 'socket'
>  
> Client debugger shows the ConnectionFactory instance returned:
> initialConnectors = {org.hornetq.api.core.TransportConfiguration[1]@2183}
> 0 = {org.hornetq.api.core.TransportConfiguration at 2196} "TransportConfiguration(name=http-connector, factory=org-hornetq-core-remoting-impl-netty-NettyConnectorFactory) ?port=8080&host=10-10-20-77&http-upgrade-enabled=true&http-upgrade-endpoint=http-acceptor"
>   name = {java.lang.String at 2198} "http-connector"
>   factoryClassName = {java.lang.String at 2199} "org.hornetq.core.remoting.impl.netty.NettyConnectorFactory"
>   params = {java.util.HashMap at 2200}  size = 4
>    0 = {java.util.HashMap$Node at 2203} "port" -> "8080"
>    1 = {java.util.HashMap$Node at 2204} "host" -> "10.10.20.77"
>    2 = {java.util.HashMap$Node at 2205} "http-upgrade-enabled" -> "true"
>    3 = {java.util.HashMap$Node at 2206} "http-upgrade-endpoint" -> "http-acceptor"
> 10.10.20.77 is IP address of server behind firewall, NOT the IP address used by the client.



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jboss-jira mailing list