Inline/IFrame between Ignition Gateways

How do you use an Inline Frame (Iframe) from a Frontend Gateway to embed a Backend Gateway Perspective view?

I've looked through the documentation and watched several videos, but I haven't been able to find any examples of how to do this.

My goal is to display a Perspective session hosted on a Backend Gateway inside a Frontend Gateway using an Inline Frame component.

Example:

  • Frontend Gateway: http://1.1.1.1:8088
  • Backend Gateway: http://2.2.2.2:8088

I would like to embed the following Backend Perspective session inside a view on the Frontend Gateway:

(http://)2.2.2.2:8088/data/perspective/client/Main

Is this a supported approach, and if so, are there any special configuration requirements regarding authentication, security zones, or cross-origin restrictions?

Any examples or step by step guides would be appreciated. Thanks!

Any errors while doing this?

I just created a container session to show it:
Networks are connected between them.
8090 is this session.

8092 different session


And then i tried the view i created on 8090 session:

And the headers show this:

From what I read, the header response ```

X-Frame-Options: SAMEORIGIN

makes the browser block it. I'm not sure if this can be disabled.

Yea, i came to the same conclusion.

I was hoping maybe some experts had found a way to work around it to make it work.

You'll need to disable the X-Frame-Options header in your Gateway Configuration File. Like this, where the # needs to not conflict with any other parameters listed in that file, see here:
wrapper.java.additional.#=-Dignition.http.header.x_frame_options.enabled=false

This requires a gateway restart once you Java Additional Parameter.

Yes it seems like this did the trick, thank you.

I am at least one step closer now:

I can add that this is where you edit the ignition.conf file if you have selected the standard install format: C:\Program Files\Inductive Automation\Ignition\data

If its stuck on Initializing Client, I believe you'll have to setup SSL on these gateway and use HTTPS instead, then add 2 more parameters into the configuration file:
wrapper.java.additional.#=-Dignition.http.session.cookie.same-site.enabled=true
wrapper.java.additional.#=-Dignition.http.session.cookie.same-site.value=None

This can be done with a self signed certification. If this is you first time setting up SSL in Ignition I recommended not to enable the Force Secure Redirect option in the Web Server settings, by leaving this off you will still be able to access the gateway incase the SSL setup doesn't work. For testing you can use localhost as the domain on the self signed certificate, otherwise you can add a IP address down in the Subject Alternative Names.

Be aware that the end-user's browser now has to reach both gateways, and your front-end isn't reducing the workload on the backend as would be expected. The canonical solution would be to use a remote tag provider or MQTT to move live data to the front end so the front end can display the view directly.