OPC-UA Connection to IGS Rejected

Ignition 7.9.14
Hard drive was replaced on remote computer where we were accessing PLC tags through IGS/Kepware. The ignition client certificate is loaded to the remote pc and the endpoint is set up, however, Ignition is not pulling in the IP address through discovery. The remote computer has been restarted, Ignition OPC-UA module has been restarted. We continue to get the following error:

INFO   | jvm 1    | 2021/06/15 10:13:47 | E [c.i.i.g.o.c.w.d.w.DiscoveryServerLookupStep] [14:13:47]: Error looking up servers 
INFO   | jvm 1    | 2021/06/15 10:13:47 | java.util.concurrent.ExecutionException: UaException: status=Bad_ConnectionRejected, message=io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: /10.92.0.137:49310
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at java.util.concurrent.CompletableFuture.reportGet(Unknown Source)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at java.util.concurrent.CompletableFuture.get(Unknown Source)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at com.inductiveautomation.ignition.gateway.opcua.client.web.discovery.wizardsteps.DiscoveryServerLookupStep.findServers(DiscoveryServerLookupStep.java:104)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at com.inductiveautomation.ignition.gateway.opcua.client.web.discovery.wizardsteps.DiscoveryServerLookupStep.next(DiscoveryServerLookupStep.java:87)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.apache.wicket.extensions.wizard.dynamic.DynamicWizardModel.next(DynamicWizardModel.java:126)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at com.inductiveautomation.ignition.gateway.opcua.client.web.discovery.EndpointWizardButtonBar$NextButton.onClick(EndpointWizardButtonBar.java:28)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.apache.wicket.extensions.wizard.WizardButton.onSubmit(WizardButton.java:88)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.apache.wicket.markup.html.form.Form.delegateSubmit(Form.java:1237)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.apache.wicket.markup.html.form.Form.process(Form.java:923)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:769)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:702)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at sun.reflect.GeneratedMethodAccessor189.invoke(Unknown Source)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at java.lang.reflect.Method.invoke(Unknown Source)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:216)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:240)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:226)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:814)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:253)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:210)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:281)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:245)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at com.inductiveautomation.ignition.gateway.bootstrap.SRFilter.doFilter(SRFilter.java:80)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1596)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:545)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:590)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1607)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1297)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1577)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1212)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:59)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.server.Server.handle(Server.java:500)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:270)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:388)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at java.lang.Thread.run(Unknown Source)
INFO   | jvm 1    | 2021/06/15 10:13:47 | Caused by: org.eclipse.milo.opcua.stack.core.UaException: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: /10.92.0.137:49310
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at org.eclipse.milo.opcua.stack.client.transport.uasc.ClientChannelFsm$ClientChannelActions.lambda$connect$0(ClientChannelFsm.java:130)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:502)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:495)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:474)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:415)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:540)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:533)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:114)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.fulfillConnectPromise(AbstractNioChannel.java:327)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:343)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:665)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:612)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:529)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:491)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:905)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	... 1 common frames omitted
INFO   | jvm 1    | 2021/06/15 10:13:47 | Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: /10.92.0.137:49310
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at sun.nio.ch.SocketChannelImpl.finishConnect(Unknown Source)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:327)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:340)
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	... 6 common frames omitted
INFO   | jvm 1    | 2021/06/15 10:13:47 | Caused by: java.net.ConnectException: Connection refused: no further information
INFO   | jvm 1    | 2021/06/15 10:13:47 | 	... 10 common frames omitted

This is a TCP connection level error.

Make sure you have the correct port, that the firewall is allowing inbound TCP connections on that port, and that IGS/KSE is configured for the right network adapter.

Kevin,

Would this be on the remote PC side, or Ignition Side? I’m already connected to 5 other similar IGS setups on the Ignition side with the same port number.

You’d want to check the firewall and IGS configuration on the remote PC that IGS is running on.

Firewall is off and IGS configuration is set up correctly as far as using the IP Addresses. It is running though a NAT.

We disconnected 2 of the other PCs with IGS on it, and now these ones are faulting for timeout on the connection. Is there an issue with Ignition where one of these devices cannot come up before the other?

I have tried restarting the PC’s and restarting the gateway/OPC-UA module on the Ignition side.

Do you have any further suggestions on a resolution? These PCs were fine and then dropped off and wont come back. I can remote into them fine and ping the ignition server from these PCs. The firewalls are allowing the port and the IP address im attempting to connect to is correct.

No, it’s definitely a network problem though, so get your IT department involved.

You should be doing the ping test from the Ignition gateway, not to it. Another easy test is to try to telnet from the Ignition server to the IGS server on the OPC UA port IGS is using (49310 in your logs). It will fail, and you can show this to your IT department to say “look, something isn’t right here”. You can also capture Ignition trying to connect and see the TCP level failure in Wireshark.