OPC-UA Settings - Funtion of Endpoint Address


Could someone give us a better description and understanding as to what the purpose and function of the endpoint address is?

We recently had a few opc-ua problems across our hub and spoke ignition gateway deployment. The problems were a result of not understanding the purpose of the Endpoint Address in the opc-ua settings. The endpoint address for the opc-ua module on remote gateways had been configured to “localhost”. This gateways connecting to the remote opc-ua modules to be rerouted to themselves when the remote opc-ua quit unexpectedly.

Across about 19 remote gateways we have found our settings to be inconsistent. A few gateways were set to their explicit ip address (correct configuration). Others used “localhost” which caused our problem. And others had incorrect ip addresses to other gateways.

It appears to us that the endpoint address is not always used - since we can use a garbage ip address and still connect to the opc server and it’s devices.


The Endpoint Address setting is a hint that tells the OPC-UA server what network interface to look for and bind to on startup. If it can’t find the one specified it tries to make an educated guess, which is why a garbage one will sometimes work and sometimes won’t.

The effects of using “localhost” seem to vary by OS and distro, which is why we recommend using the machines IP address instead. Sometimes this causes a network interface to be chosen, which when asked for its hostname, returns “localhost” or a hostname that can’t be resolved by remote machines. This is a problem because this hostname is embedded inside the UA EndpointDescriptions returned by the UA GetEndpointsService.