dimo wrote:Hello Dimo,
I am trying to run the NoSQL nodes behind a firewall without any success.
I am running the RMI registry on port 5100 which I have allowed in the firewall. When I telnet to that port I get a connection. However, when using the normal API I get connection exceptions. I have debugged the issue down to the following RMI related problem - the NoSQL database seems to bind different remote objects on random ports (checkout the two calls to UnicastRemoteObject.exportObject(object, 0) in oracle.kv.impl.util.registry.RegistryUtils - 0 is the default meaning any available port). This of course does not work behind a firewall unless I allow connections to any port which basically deactivates the firewall.
What can I do to fix that? Is there a way to force the NoSQL JVM process to use one single RMI port (the registry port)? Can I configure at least a range of ports to be used?
dimo wrote:Hi Dimo,
thank you for the reply. We had to open the firewalls for it to work - however I have seen a few docs / whitepapers where a firewall is drawn between app and db. No mention however that the firewall must allow any port which effectively deactivates it.
It would be great if nosql had a configuration option per java process (admin, rn, sn...) where one could define the RMI port. I experimented a bit and it should be pretty straightforward to set a socket factory for each process and add a configuration option per process type. At least I was able to do it for the all-in-one process.