-
Task
-
Resolution: Done
-
Major
-
1.2.0.Final, 1.3.0.Final
-
None
I am proposing we abandon automagic as much as possible.
Problem
The main idea for automagic is to make deployment simple and easy to migrate/transfer and provide great user experience out of box. Unfortunately, this IMHO often backfires quite significantly resulting in configurations that are:
- insecure (listening on all interfaces, allow from all, default security key "changeme!")
- difficult to debug (not clear what is the actual configuration)
- unstable installations (seemingly unrelated aspects like adding an interface or connector break the previously working configuration)
Areas
There are several areas where automagic happens.
Advertised address of the proxy
There were multiple bugs in the past, where 0.0.0.0 would be sent in the advertise mesages, now if its not explicit in the VirtualHost or passed in to ServerAdvertise, it automagically picks a non-local interface. Such configurations should be disallowed. Part of MODCLUSTER-487.
Advertise interfaces - Java
The interfaces are not explicit and advertise messages could be sent/received on more interfaces and is subject to interface configuration which can change. This is also problematic when trying to move to DatagramChannel interface, which requires interfaces to be defined explicitly ( DONEMODCLUSTER-502). We can need to require this explicitly.
Advertise interfaces - Native
The interfaces are not explicit and advertise messages could be sent/received on more interfaces (see MODCLUSTER-487).
Connector address
If bound to any-address, the address is inferred from the proxy connection as the local address. This is solved in the default WildFly configuration as its explicitly bound to a interface. Folloup up Jira for this is MODCLUSTER-318.
Connector selection
This is solved in WildFly where selection is explicit. In tomcat this causes problems like DONE MODCLUSTER-457 when WS requires http yet ajp is automatically selected by default. We can make this explicit.
Route generation
Remove setJvmRoute from the SPI with MODCLUSTER-634.
- incorporates
-
MODCLUSTER-457 Expose Tomcat configuration to explicitly specify a connector to register with the proxy
- Resolved
-
MODCLUSTER-502 Upgrade MulticastSocket to MulticastChannel
- Resolved
-
MODCLUSTER-487 Default AdvertiseBindAddress value should not be NULL (UDP Multicast on Linux systems with more NICs)
- Open
-
MODCLUSTER-634 Remove Engine#setJvmRoute used for setting autogenerated routes from SPI
- Open