# Disable "Force Secure Redirect" from terminal

**URL:** <https://forum.inductiveautomation.com/t/disable-force-secure-redirect-from-terminal/84439>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [January 18, 2024, 12:26pm UTC](https://forum.inductiveautomation.com/t/disable-force-secure-redirect-from-terminal/84439 "2024-01-18T12:26:22Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![diamond](https://avatars.discourse-cdn.com/v4/letter/d/e79b87/32.png) [@diamond](https://forum.inductiveautomation.com/u/diamond)\
**Post date:** [January 18, 2024, 12:26pm UTC](https://forum.inductiveautomation.com/t/disable-force-secure-redirect-from-terminal/84439/1 "2024-01-18T12:26:22Z")

</div>

Hello,

We were configuring SSL on our gateway and apparently some SSL configuration was not done correctly. Since "Force Secure Redirect" was enabled, we are no longer able to access the gateway.

Is there any way to disable it from the outside?

The gateway is mounted on Docker.

Thanks!

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [January 18, 2024, 1:13pm UTC](https://forum.inductiveautomation.com/t/disable-force-secure-redirect-from-terminal/84439/2 "2024-01-18T13:13:08Z")

</div>

Modify the value of the `gateway.forceSecureRedirect` key in `data/gateway.xml`.

---

<div class="post-metadata">

**Author:** ![diamond](https://avatars.discourse-cdn.com/v4/letter/d/e79b87/32.png) [@diamond](https://forum.inductiveautomation.com/u/diamond)\
**Post date:** [January 18, 2024, 2:30pm UTC](https://forum.inductiveautomation.com/t/disable-force-secure-redirect-from-terminal/84439/3 "2024-01-18T14:30:22Z")

</div>

Good! That solved the issue!

1 - Access terminal (from Docker Desktop, in our case):

```auto
nano data/gateway.xml

```

2 - Modify value  
3 - Ctrl+X  
4 - Save

If nano is not installed, access from the windows terminal and execute:

```auto
docker exec -it -u root be96 /bin/bash
apt-get update
apt-get install nano

```

---

<div class="post-metadata">

**Author:** ![dion.botha](https://avatars.discourse-cdn.com/v4/letter/d/46a35a/32.png) [@dion.botha](https://forum.inductiveautomation.com/u/dion.botha)\
**Post date:** [November 11, 2025, 3:06pm UTC](https://forum.inductiveautomation.com/t/disable-force-secure-redirect-from-terminal/84439/4 "2025-11-11T15:06:21Z")

</div>

I restored a production backup (with everything disabled) to my local machine (after installing the same Ignition version on it) and was able to access the gateway using [http://localhost:8088](http://localhost:8088).

The reason I restored to my local machine was becuase I wanted to access an old version of the tag provider through the Tag Browser in the designer but found that I could not open the designer (an error came up in the launcher before asking for credentials `Error launching application: ConnectException: Connection refused:getsockopt`).

I believe this is due to the fact that my local machine does not have SSL certs and the Force Secure Redirect setting was enabled and grayed out. Setting`gateway.forceSecureRedirect` key to false in `data/gateway.xml`and restarting gateway allowed me to access designer through [http://localhost:8088](http://localhost:8088) (I am kind of surprised I was able to access the gateway initially after restore with [http://localhost:8088](http://localhost:8088)…).

When the designer opened, I got an error:

```python
java.util.concurrent.ExecutionException: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: java.lang.Exception: Provider 'default' not found:
at java.base/java.util.concurrent.CompletableFuture.reportGet(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture.get(Unknown Source)
at com.inductiveautomation.ignition.designer.sqltags.opcbrowser.OpcBrowseExecutor$ProviderBrowseExecutor.browse(OpcBrowseExecutor.java:49)
at com.inductiveautomation.ignition.designer.sqltags.opcbrowser.AbstractOPCTreeNode.browse(AbstractOPCTreeNode.java:35)
at com.inductiveautomation.ignition.designer.sqltags.opcbrowser.OPCFolderNode.loadChildren(OPCFolderNode.java:52)
at com.inductiveautomation.ignition.client.util.gui.tree.AbstractAsynchronousTreeNode$Loader.run(AbstractAsynchronousTreeNode.java:82)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: java.lang.Exception: Provider 'default' not found:
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.newGatewayException(GatewayInterface.java:360)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:334)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.sendMessage(GatewayInterface.java:287)
at com.inductiveautomation.ignition.client.gateway_interface.GatewayInterface.invoke(GatewayInterface.java:967)
at com.inductiveautomation.ignition.client.tags.impl.GatewayTagInterface.browseTagDataSourcesAsync(GatewayTagInterface.java:183)
at com.inductiveautomation.ignition.client.tags.impl.GatewayTagInterface$GatewayProviderProxy.browseTagDataSourcesAsync(GatewayTagInterface.java:299)
at com.inductiveautomation.ignition.client.tags.impl.ClientTagManagerImpl.browseTagDataSourcesAsync(ClientTagManagerImpl.java:194)
... 9 more
Caused by: java.util.concurrent.ExecutionException: java.lang.Exception: Provider 'default' not found:
at java.util.concurrent.CompletableFuture.reportGet(null)
at java.util.concurrent.CompletableFuture.get(null)
at com.inductiveautomation.ignition.gateway.servlets.gateway.functions.TagProviderRpc.browseTagDataSources(TagProviderRpc.java:852)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(null)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(null)
at java.lang.reflect.Method.invoke(null)
at com.inductiveautomation.ignition.gateway.servlets.gateway.AbstractGatewayFunction.invoke(AbstractGatewayFunction.java:228)
at com.inductiveautomation.ignition.gateway.servlets.Gateway.doPost(Gateway.java:435)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:523)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
at com.inductiveautomation.ignition.gateway.bootstrap.MapServlet.service(MapServlet.java:86)
at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1410)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)
at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1665)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:527)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:598)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:223)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1580)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1384)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:484)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1553)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1306)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at com.inductiveautomation.catapult.handlers.RemoteHostNameLookupHandler.handle(RemoteHostNameLookupHandler.java:121)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:301)
at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:51)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
at org.eclipse.jetty.server.Server.handle(Server.java:563)
at org.eclipse.jetty.server.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1598)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:753)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:501)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:287)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:314)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:421)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:390)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:277)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:199)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:411)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149)
at java.lang.Thread.run(null)

Ignition v8.1.47 (b2025022612)
Java: Azul Systems, Inc. 17.0.13

```

So still cannot access/restore Tag Browser…

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [November 11, 2025, 3:14pm UTC](https://forum.inductiveautomation.com/t/disable-force-secure-redirect-from-terminal/84439/5 "2025-11-11T15:14:38Z")

</div>

You restored "disabled". Did you re-enable the default tag provider via the gateway web interface?

---

<div class="post-metadata">

**Author:** ![dion.botha](https://avatars.discourse-cdn.com/v4/letter/d/46a35a/32.png) [@dion.botha](https://forum.inductiveautomation.com/u/dion.botha)\
**Post date:** [November 11, 2025, 3:43pm UTC](https://forum.inductiveautomation.com/t/disable-force-secure-redirect-from-terminal/84439/6 "2025-11-11T15:43:20Z")

</div>

Ahhh - I did not realize the tag provider would be disabled. Ok so I’m guessing enabling this will solve my issue - I am just a little concerned that after I do so, things like tag event scripts, alarm notifications etc. will fire from my local machine - I may just disconnect my machine from the network before doing so. Thanks Phil!

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [November 11, 2025, 4:37pm UTC](https://forum.inductiveautomation.com/t/disable-force-secure-redirect-from-terminal/84439/7 "2025-11-11T16:37:51Z")

</div>

> [@dion.botha](#):
>
> will fire from my local machine

Yes, this is a hazard. I think this is the single most important reason to **never** install Ignition in localhost. **Always** use virtual machines or containers. If you don't know how to do the latter, drop **everything** and learn it, immediately.
