40

I am using JBoss AS 7 and trying to connect to my application using the IP (from a computer in the intranet). It is not working. If I test from the computer which has the server I can see the system running if I go through localhost (http://localhost:8080/MySystem....) but not If I try with the IP (http://:8080/MySystem....).

Any help?

3
  • 1
    Could it be a firewall issue? Commented Apr 12, 2012 at 22:18
  • Please post your configuration file, and indicate whether you are using a Standalone instance or the Managed Domain. Commented Apr 13, 2012 at 3:18
  • It is a standalone instance. The configuration file is default (I just added the DB connection string). Commented Apr 13, 2012 at 15:58

4 Answers 4

82

The answer is to edit standalone.xml and insert the tag any-address instead of inet-address bound to 127.0.0.1

<interfaces>
    <interface name="management">
        <inet-address value="127.0.0.1"/>
    </interface>
    <interface name="public">
       <any-ipv4-address/>
    </interface>
</interfaces>
Sign up to request clarification or add additional context in comments.

4 Comments

<any-address /> worked, <any-ipv4-address /> didn’t work in my case.
the same for me; <any-address /> works. I have the version 7.1.1. however, this one also works: <inet-address value="${jboss.bind.address:0.0.0.0}"/>
I tried this over 2 days.But unable to fixed.This solution worked for me.I used this solution by replacing <any-ipv4-address/> to <any-address/>..oohhh..thank you :-D
Hi folks, check the comment by @ᴠɪɴᴄᴇɴᴛ that worked in my case too. We are using Jboss 7.2.6
22

I changed the 127.0.0.1 (localhost) to 0.0.0.0 in standalone.xml. It works. Just be aware of the security.

<interfaces>
    <interface name="management">
        <inet-address value="${jboss.bind.address.management:0.0.0.0}"/>
    </interface>
    <interface name="public">
        <inet-address value="${jboss.bind.address:0.0.0.0}"/>
    </interface>
    <!-- TODO - only show this if the jacorb subsystem is added  -->
    <interface name="unsecure">
        <!--
          ~  Used for IIOP sockets in the standard configuration.
          ~                  To secure JacORB you need to setup SSL 
          -->
        <inet-address value="${jboss.bind.address.unsecure:0.0.0.0}"/>
    </interface>
</interfaces>

3 Comments

This works, but can you clarify what you mean by "Just be aware of the security"?
Re. security, if you want the server to be externally accessible then it's not an issue, but you may want to restrict the management interface to not be remotely accessible.
Allowing binding to 0.0.0.0 means the server will listen for connections to any ip, so it is something you should be aware of.
10

Did you configure the IP address into the config file?

Starting jboss without configuring the ip address will set the default address for jboss to localhost which is fit for development or maybe for a production server, where apache is used as the proxy to jboss and resides in the same machine.

To set the ip address for JBoss :

To a specific IP address
run.sh -b 10.62.31.31
To localhost or the IP address assigned to the server
run.sh -b 0.0.0.0

You can also change it in the configuration file under the <interfaces> section.

7 Comments

if you're in Windows, the shell script is run.bat
And in JBoss AS7 it's not run at all :-) It's standalone.sh for the standalone server and domain.sh for the domain server. On Windows just change the sh to bat.
There is no "run.sh" script in JBoss AS 7, and while the -b switch was implemented in this version, it should not be relied upon as there are issues with inheritance where an IP is specifically declared in the configuration file. The switch will only work where the java token "${jboss.bind.address.management:127.0.0.1}" remains. As ever, using the Management Console or the Management CLI offers the best in administrative options.
Thanks, can you tell me what should I do in the Management Console or Management CLI to configure it? Or should I change standalone.bat?
You definitely don't want to change standalone.bat. When the server is started from CLI you can execute /interface=public:write-attribute(name=inet-address,value="${jboss.bind.address:xxx.xxx.xxx.xxx}") to set the IP. It's even easier on the web console. Just look in the profile under interfaces.
|
0

Don't forget the firewall !

If you fixed the binding addresses and still can not connect to JBoss, try to work around the server's firewall.

To stop the firewall on Linux RHEL use this command:

/etc/init.d/iptables stop

an update: On RHEL7, where iptables is not installed - you may use:

systemctl stop firewalld

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.