Setup a private Bridge Gateway on a DMZ

images/download/attachments/212902034/image-2025-9-15_11-11-43-version-1-modificationdate-1758028671055-api-v2.png

It is possible to run your own private Bridge Gateway. You can use a DMZ Server for this with some additional configuration.


Add the following <Call name="addApplication">... </Call> block to the file GATEWAY_INSTALLATION_FOLDER>/etc/startup_dmz.xml

Parameter:

  • gatewayBaseEndpoint: Address of the DMZ/Gateway as seen from the Lobster Platform. This is the URL where the platform sends its requests to bridges.

  • gatewayHost: This is the tunnel address, which is used by the Bridge to establish a tunnel.



startup_dmz.xml
<Configure class="com.ebd.hub.services.startup.StartupService">
...
 
<Call name="addApplication">
<Arg>
<New class="de.lobster.scm.dmz.bridge.BridgeGatewayServerApp">
<Set name="logLevel">ALL</Set>
<Set name="tunnelServer">
<New class="de.lobster.scm.dmz.transport.NioTunnelServer">
<Set name="tunnelBindAddress">0.0.0.0</Set>
<Set name="tunnelPort">8444</Set>
</New>
</Set>
 
<!-- Endpoint must match the http server to be accessible from the platform instance -->
<!-- SSL must be configured and enabled in etc/admin.xml -->
<Set name="httpServerName">Administrative Server</Set>
<Set name="gatewayBaseEndpoint">https://dmz-address.internal-customer-network.de:9000/bridge/</Set>
<Set name="gatewayHost">dmz-address.external-customer-network.de:8444</Set>
 
</New>
</Arg>
</Call>
...
</Configure>

DMZ/Gateway memory settings

The DMZ memory settings may have to be increased:

This are the minimal recommended memory settings for the JVM with a private DMZ/Gateway:

  • Operation system 8gb RAM

  • Java Heap Memory 4gb

  • Java DirectMemory 1gb


JVM parameter:

-Xms4096M -Xmx4096M -XX:MaxDirectMemorySize=1024M

Linux

./bin/execute.sh
JAVA_OPTIONS="-Xms4096M -Xmx4096M -XX:MaxDirectMemorySize=1024M -server ...

Windows console

./bin/hub.bat
set OPTIONS=-Xms4096M -Xmx4096M -XX:MaxDirectMemorySize=1024M -server ...

Windows Service

./etc/wrapper.conf
...
# Initial Java Heap Size (in MB)
wrapper.java.initmemory=4096
# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=4096
...
wrapper.java.additional.<some number>=-XX:MaxDirectMemorySize=1024M