Loading...

Enable remote access for JBoss Web

This post demonstrates how to enable the remote access for JBoss in standalone mode. It includes several CLI commands to check the status at runtime. To apply the changes a restart is needed.

List all interfaces

[standalone@localhost:9999 /] :read-children-names(child-type=interface)
{
    "outcome" => "success",
    "result" => [
        "management",
        "public",
        "unsecure"
    ]
}

The public interface is reponsible for the remote access. Below the output of the default configuration.

[standalone@localhost:9999 /] /interface=public:read-resource(include-runtime=true)
# or alternatively
[standalone@localhost:9999 /] cd interface=public
[standalone@localhost:9999 interface=public] :read-resource(include-runtime=true)
{
    "outcome" => "success",
    "result" => {
        "any" => undefined,
        "any-address" => undefined,
        "any-ipv4-address" => undefined,
        "any-ipv6-address" => undefined,
        "inet-address" => expression "${jboss.bind.address:127.0.0.1}",
        "link-local-address" => undefined,
        "loopback" => undefined,
        "loopback-address" => undefined,
        "multicast" => undefined,
        "name" => "public",
        "nic" => undefined,
        "nic-match" => undefined,
        "not" => undefined,
        "point-to-point" => undefined,
        "public-address" => undefined,
        "resolved-address" => "127.0.0.1",
        "site-local-address" => undefined,
        "subnet-match" => undefined,
        "up" => undefined,
        "virtual" => undefined
    }
}

If you want to allow the access from any address (IPv4 and IPv6), you need to change the standalone.xml.

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

If you want to do it via CLI (will produce above result in the standalone.xml).

[standalone@localhost:9999 interface=public] /interface=public:remove()
{"outcome" => "success"}
[standalone@localhost:9999 interface=public] /interface=public:add(any-address=true)
{"outcome" => "success"}
# restart required
[standalone@localhost:9999 interface=public] shutdown --restart=true

Since it is an default expression you may also start JBoss with following arguments

./standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0 &

If you want to bind it to a specific inet-address

/interface=interfacename/:add(inet-address=192.168.0.2)
# change it
/interface=interfacename/:write(inet-address=192.168.100.2)

See also RedHat JBoss Network and Port Configuration