[jboss-dev] Public IP address used by JBoss AS

Brian Stansberry brian.stansberry at redhat.com
Wed May 26 09:03:31 EDT 2010


OK, this time I'll actually send it to the list...

On 05/26/2010 07:38 AM, Brian Stansberry wrote:
> Putting this on jboss-dev, as my guess is 3/4 of the work is discussing
> a bit. Particularly interested in hearing from Mr. Boot, ALR.
>
> What we're talking about is https://jira.jboss.org/browse/JBAS-8001
> which is a proposal to allow some standard aliases for IP addresses that
> the AS would resolve to something meaningful on the local machine. The
> purpose is to make it easier to use the AS in a cloud environment where
> the user can't know addresses in advance. Proposed aliases are:
>
> - GLOBAL: picks a global (public) address
> - SITE_LOCAL: an address starting with 192.168.x.x or 10.0.x.x
> - LINK_LOCAL: a link local address, ie. starting with 169.x.x.x or
> 254.x.x.x
> - NON_LOOPBACK: picks any non-loopback address
> - LOOPBACK: picks a loopback address
>
> My current take on this is if we did it for AS 6 we'd implement it in
> the org.jboss.Main class.[1] Basically we'd alter the command line
> processing for -b, -Djboss.bind.address and -Djgroups.bind_addr to
> detect the above aliases and replace with the appropriate value.
>
> IMO we would *not* allow these values as a general configuration option,
> e.g. in a -jboss-beans.xml:
>
> <!-- Not supported -->
> <property name="bindAddress">PUBLIC</property>
>
> That would be too much work, since as soon as you allow it one
> configuration document you should allow it everywhere.
>
> The weakness of only using it via Main's command line processing is if
> people only want to use, for example, PUBLIC, in one spot, not as a
> global value like -b. If we want to help with that, perhaps we could use
> a system property namespace, and have Main check for properties in that
> namespace and resolve them. For example:
>
> -Djboss.bind.address.myfoosocket=PUBLIC
>
> My instinct though is to *not* support that. First, to me there is no
> clear use case. Second, in AS 7 I'm pretty sure we are going to want to
> move away from system properties as a core way of configuring the AS, so
> let's not add new system property-based features in 6.
>
> Thoughts?
>
> [1]
> https://svn.jboss.org/repos/jbossas/trunk/main/src/main/java/org/jboss/Main.java
>
>
> On 05/26/2010 07:07 AM, Bela Ban wrote:
>> In my mod-cluster demo, every JBoss instance needs to set the IP address
>> used by its AJP connector to a *public* IP address, regardless what
>> jboss.bind.address is set to. The reason is that the httpd's mod-cluster
>> will connect back to the JBoss instance via AJP, and if httpd runs in a
>> different cloud, then a randomly chosen IP address may or may not work.
>> For example, it wouldn't work if JBoss picked a site-local (e.g.
>> 192.168.x.x.x) IP address...
>>
>> However, since I don't know the public IP addresses available on the
>> NICs provided by a virtualized instance in the cloud to a JBoss
>> instance, I would have to come up with complicated scripts which find
>> out the public IP address(es) and set -Djboss.bind.address to it.
>>
>> On top of that, I don't really need to set jboss.bind.address, I really
>> only want to set the IP address from the AJP connector (in server.xml).
>>
>> So I was wondering whether (when ! :-)) something like [1] will be
>> available in JBoss AS: I could then simply set
>> -Djboss.bind.address=PUBLIC and JBoss AS would pick any suitable public
>> IP address on any interface that's not down...
>>
>> I know there's a JIRA around for this somewhere, and I was wondering if
>> there's a chance to get this into M4, so I don't have to write crappy
>> scripts to set jboss.bind.address... :-)
>>
>>
>> [1] https://jira.jboss.org/browse/JGRP-1204
>>
>
>


-- 
Brian Stansberry
Lead, AS Clustering
JBoss by Red Hat



More information about the jboss-development mailing list